次はキュー構造について説明します。
キューは先入先出法の考え方で作られたデータ構造です。
「先入先出法」とは、追加した順番にデータが取り出されるという意味です。
スタックと同じく、データを格納する事をpushと言い、データを取り出す(削除する)事をpopと言います。
また、先頭のデータにしかアクセスする事が出来ず、途中のデータにはアクセス出来ないのもスタックと同じです。
キューの特徴を書きます。
・配列ベースでは無いデータ構造 (先頭のデータのみアクセス可能) (途中のデータはアクセス不可) ・push関数でデータを最後尾に追加 ・pop関数で先頭のデータを削除 ・front関数で先頭のデータを取得 |
キューについても、程よいサンプルがありません。
ネットワーク環境やマルチスレッドなど、データが届いたものから処理を行うなど、シチュエーションを作るのが難しいです・・・
ですから、スタック同様使い方を紹介するに留めます。
<sample program cpp019-01>
#include <iostream> #include <queue> int main() { std::queue<int> queData; for (int i = 0; i < 5; i++) { queData.push(i + 1); } std::cout << queData.front() << std::endl; queData.pop(); std::cout << queData.front() << std::endl; return 0; } |
<実行結果>
1 2 続行するには何かキーを押してください・・・
1から5の5個のデータを追加しました。
front関数を使って先頭のデータ1を表示しています。
pop関数で先頭のデータを削除したため、先頭データは2になっています。
データ構造は知っておくだけでも、プログラムを組む時に思い出して使う事が出来ます。
すぐに使える状況が無くても、知っておくだけは知っておいてください。