Queue
Queueは、データを積みこんでいくデータ構造です。
データを積みこんでいき、取り出すときは最初に入れたデータが取り出されます。
主に幅優先探索などで使われます。
力試しに下の問題をQueueを用いて解いてみるといいでしょう。
以下にQueueの主な仕様を記述します。
事前準備 <queue>をインクルードする。 宣言方法 queue<型>構造体の名前 例:queue<int>que; int型の要素を格納する que という名前のデータ構造を宣言します。 主な関数 push(a):コンテナ(配列)の先頭に a を格納します。 pop():コンテナの底の要素を削除します。 front():コンテナの底の要素を返します。削除は行いません。 size():コンテナに格納されている要素数を返します。 empty():コンテナに何も格納されてない場合1を、格納されている場合0を返します。 「 que.push(a) 」 のようにプログラム上で記述します。
問題
ある指定された命令が与えられるので、命令通りに動くプログラムを作成してください。
配列 L は最初空です。
push a 配列 L の先頭に a を格納してください。 front 配列 L の先頭の要素を出力してください。 pop 配列 L の先頭の要素を削除してください。 exit プログラムを終了してください。
制約
- 命令の数は106を超えない。
- 配列が空の時に、"front"もしくは"pop"が与えられることはない。
入出力例
入力例
push 4 push 6 front pop push 2 front front exit
出力例
4 6 6