「コレクション」

キュー

 キュー(queue)は「待ち行列」とも呼ばれるように、先入れ先出し(first in, first-out FIFO)
の振る舞いを見せる。キューでは、要素を任意の順序で取り出すことができず、必ず
追加されたと同じ順序で取り出す必要がある。
多くの場合キューに要素を挿入する演算をエンキュー(enqueue)と呼び、
取り出す、削除の演算をデキュー(dequeue)と呼びますが、
std::queueの実装では、挿入にはpushまたは、emplaceを使い、
削除にはpopを使う。そして、キューの先頭にある要素にアクセスするには、frontを使う。
以下のコードで示すのは、3個の要素をキューに挿入してから、
それぞれの要素をキューから取り出して、その値を出力する。



std::queueの実装は、要素の挿入、先頭の要素のアクセスおよび取り出しに、O(1)の時
間複雑性を確保している。

スタック

 スタック(stack)は、後入れ先出し(last-in、first-out: LIFO)の振る舞いを見せる。例えば
要素をA、B、Cの順でスタックに入れたら、C、B、Aの順でしか取り出すことが出来ない。
要素をスタックに追加するには、pushまたはemplace関数を使い、スタックから要素を取り出す
にはpop関数を使う。そしてtop関数は、スタックのトップ(一番上)にある要素にアクセスする。
次に、std::stackを使うコードを示す。



queueと同じく、std::stackの主な演算子は、どれも一定の時間複雑性を持つ。

【戻る】