>> 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++入門トップに戻る