>> C++入門トップに戻る
今回はqueueについて説明します。
これを使うには、queueというヘッダファイルをインクルードする必要があります。
これはほとんどstackと同じです。
違うことと言えば、stackで要素を削除するときはpopを使っていましたが、
そのときの動作は、末尾の要素から削除されていきました。
ですが、queueの場合は、先頭要素から削除されます。
つまり、queueの場合は追加する場合は末尾に追加されますが、
削除されるときは、一番古い要素から削除されるというわけです。
この仕組みを、FIFO(First in first out)と言います。
逆に、stackの仕組みをLIFO(Last in first out)と言います。
また、stackではtop関数がありましたが、queueではそれがなくなり、
変わりに先頭要素を取り出すfront関数と末尾要素を取り出すback関数があります。
下記のコードを見てください。
これを実行すると、4、1と表示されます。
pop関数を実行したら、最初に追加した先頭要素が削除されていることがわかります。
次回は、mapについて説明します。
>> 【コンテナ【map】】に進む
>> C++入門トップに戻る
コンテナ【queue】
これを使うには、queueというヘッダファイルをインクルードする必要があります。
これはほとんどstackと同じです。
違うことと言えば、stackで要素を削除するときはpopを使っていましたが、
そのときの動作は、末尾の要素から削除されていきました。
ですが、queueの場合は、先頭要素から削除されます。
つまり、queueの場合は追加する場合は末尾に追加されますが、
削除されるときは、一番古い要素から削除されるというわけです。
この仕組みを、FIFO(First in first out)と言います。
逆に、stackの仕組みをLIFO(Last in first out)と言います。
また、stackではtop関数がありましたが、queueではそれがなくなり、
変わりに先頭要素を取り出すfront関数と末尾要素を取り出すback関数があります。
下記のコードを見てください。
#include <queue>
using namespace std;
int main(void)
{
queue<int> test;
//値をセット
for(int i=0;i<5;++i){
test.push(i);
}
//末尾要素表示
printf("%d\n",test.back());
//先頭要素削除
test.pop();
printf("%d\n",test.front());
return 0;
}
これを実行すると、4、1と表示されます。
pop関数を実行したら、最初に追加した先頭要素が削除されていることがわかります。
次回は、mapについて説明します。
>> 【コンテナ【map】】に進む
>> C++入門トップに戻る













