キュー(queue)

結論

先に入れたデータから先に取り出すデータ構造。処理の順番を保つために使う。

試験ではこう出る

科目A(旧・午前)ではスタックとセットで「データの出し入れの順序」を問う問題が定番です。図やデータの並びを示して「最後に取り出されるのはどれか」を選ばせる形式が繰り返し出題されます。科目B(旧・午後)のアルゴリズム問題では、幅優先探索やジョブの実行順管理の中でキューが登場します。

現場のたとえ

先入先出の仕掛品置き場です。前工程から流れてきた仕掛品を手前から順に置き、後工程は奥から順に取っていく。先に来たものが先に出るので、置き場に長く滞留するものが出ません。これを逆にして「手前に置いて手前から取る」運用にすると、奥のロットがいつまでも残って品質劣化や期限切れを起こします。在庫管理でいう先入先出法とまったく同じ考え方で、キューが保証しているのは「順番の公平さ」です。

もう少し正確に言うと

キューは先入先出(FIFO:First In First Out)のデータ構造です。データを入れる操作をエンキュー、取り出す操作をデキューと呼びます。実装上は配列の先頭と末尾の位置を指す2つの添字で管理し、末尾が配列の終端に達したら先頭に戻す「リングバッファ(環状キュー)」にすると、データを詰め直す処理が不要になります。OSではプロセスの実行待ち行列、プリンタの印刷待ち、ネットワーク機器のパケットバッファなど、順番を保ちながら待たせたい場面のほぼすべてで使われます。優先度を持たせたものが優先度付きキューです。

よくある勘違い

用語違い
スタック後入先出(LIFO)。最後に入れたものから取り出す
リスト途中への挿入・削除ができる。キューは両端しか操作しない
待ち行列理論キューの「待ち時間」を数学的に求める理論。データ構造そのものではない

過去問での問われ方

「キューとスタックにデータを入れ、指定の順で取り出したときの出力」を答える形式が定番です。図に矢印を書き込んで順番を追えば確実に解けるため、暗記より手を動かす練習が有効です。

出典:引用時は「年度・期・試験区分・時間区分・問番号」まで明記すること。

関連用語

ミニクイズ

キューに A・B・C の順にデータを入れた後、2回取り出した。次に取り出されるデータはどれか。

正解はC。キューは先入先出(FIFO)なので、取り出される順はA→B→Cです。2回取り出した時点でAとBが出ているため、次はCになります。後入先出のスタックと混同しないよう注意してください。

間違えた用語の復習リストを見る →

最終更新:2026-08-20