-2

Ocamlのキューの一番上の要素を削除する方法はありますか?キューモジュールには、前面から削除するテイクアンドポップ操作のみがあります。

4

1 に答える 1

6

キューの定義は、最後に追加された要素にのみアクセスまたは削除できるということです。最近追加された要素も削除したいようですね。この一般的な構造は deque と呼ばれ、両端で追加および削除できます。Batteries Included Deque モジュールで 1 つ見つけることができます。

OCaml 標準ライブラリにはこのようなものはありませんが、自分でコーディングするのもそれほど難しくありません。要素を 2 つのリストに分割します。1 つは最新のものから、もう 1 つは最も古いものからです。2 つのリストのサイズを大まかにバランスさせることを目指しており、deque に少なくとも 2 つの要素がある場合は両方とも空でないことを要求します。(岡崎より引用)

于 2012-06-22T05:42:53.270 に答える