queueは、C++標準ライブラリのSTL(標準テンプレートライブラリ)のひとつで、dequeを特殊化してFIFO(First In First Out)なキュー(待ち行列)として使うようにしたもの・・・。
コンテナを内包し、操作を制限することで、特殊なコンテナとして実現したものをコンテナアダプタという・・・。
queueは、追加は末尾からしかできない・・・。そして、取出しは先頭からしかできない・・・。
queueをインクルード・・・。
今回は、int型queueオブジェクトのqueだけ・・・。
que.pushで、0, 1, 2と順に追加していく・・・。
que.frontは、先頭の要素の値を返す・・・。
その要素を削除はしない・・・。
que.popは、先頭の要素を取り出す(つまり削除する)・・・。
再び、que.frontで、先頭の値を取得して、出力・・・。
今度は、que.backで、末尾の値を取得して、出力・・・。
que.pushで3を末尾に追加・・・。
再び、que.backで、末尾の値を取得して、出力・・・。
$ vi queue.cpp $ g++ queue.cpp -o queue $ ./queue que.front() = 0 que.front() = 1 que.back() = 2 que.back() = 3 $
最初は、0, 1, 2の状態なので、frontは0を返す・・・。
popすると、0が取り出されて、1, 2なので、frontは1・・・。
次にbackで末尾を取得すると2・・・。
pushで3を追加すると、1, 2, 3になるから、backで再び取得した末尾は3になる・・・。
Sample/cpp/queue/queue/src/queue at master · bg1bgst333/Sample · GitHub