
4-5. データ構造 キュー
本記事では、データ構造のキューについて解説します。
キューとは
キュー(queue) は、先に入れたデータを先に取り出すという操作で扱われるデータ構造です。この操作は先入れ先出し(FIFO)と呼ばれます。
コンピュータの世界では、例えば、ネットワークを通じて次々とデータが送られてきて、到着した順序で一つずつ処理を実行していくといった場合に、データを一時的に待たせておく場所としてキューが利用されます。なお、キューにデータを格納する処理をエンキュー、キューからデータを取得する処理をデキューということがあります。
問題 キューに値7が最初に格納され、続けて2, 5, 8 の順で値が格納されたとする。このキューから最初に取り出される値はいくつか。
選択肢
ア 2 イ 5 ウ 7 エ 8
解答
ウ
補足
キューの用途

配列での基本操作
enqueue(n): キューの末尾にデータを追加(Rear を更新)
dequeue(): キューの先頭からデータを削除(Front を更新)
配列によるキューの実装
// キューの初期化
配列 queue[MAX_SIZE] // 最大サイズの配列
front ← 0 // 取り出し位置
rear ← 0 // 挿入位置
// データを追加(enqueue)
手順 enqueue(n):
もし rear = MAX_SIZE ならば
エラー「キューが満杯」
queue[rear] ← n
rear ← rear + 1
// データを取り出し(dequeue)
手順 dequeue():
もし front = rear ならば
エラー「キューが空」
data ← queue[front]
front ← front + 1
返す data
まとめ
✅ キューは FIFO(先入れ先出し) で管理される
✅ 用途:OSのタスク管理、ネットワーク通信、BFS など
✅ 配列を使った実装 では、front と rear を管理する
✅ Python では list や deque を使うのが一般的(今回の例は配列ベース)
キューは 「順番通りに処理をしたい場面」 で活用されます。
以上です。