キューとは?きゅー
キューとは、先に入れたものから順に取り出す先入先出(FIFO:First In First Out)のデータ構造。末尾への追加をエンキュー、先頭からの取り出しをデキューと呼ぶ。試験では定義そのものより、追加と取り出しの操作の列を最後まで追い、最後に何が残るかを答えさせる問題が出る。
最終更新:2026-10-09
この語が出る過去問を解く →背景
到着した順に処理するという規則を構造そのものへ埋め込んでしまえば、順番を管理するコードを別に書かずに済む。この考え方はデータ構造の章にとどまらず、OSが実行を待つ処理に一定時間ずつ順番にCPUを割り当てるラウンドロビン方式や、仮想記憶で最も古く読み込んだページ(主記憶とディスクの間で出し入れする一定の大きさの区切り)を追い出すFIFO方式にそのまま現れる。基本情報は、科目Aでこれらの応用側から、科目Bで擬似言語のクラス(データと操作をひとまとめにした型)の操作から、同じFIFOという性質を別々の角度で問うてくるので、片方だけ覚えていると取りこぼす。
具体例
平成30年度秋期午前問5では、空の待ち行列に対しENQ 1、ENQ 2、ENQ 3、DEQ、ENQ 4、ENQ 5、DEQ、ENQ 6、DEQ、DEQと操作したあと、次のDEQで取り出されるデータが問われた。取り出しは挿入順に進むので1、2、3、4がすでに出ており、残っているのは5と6。答えは5である。操作を1行ずつ手で追い、その時点で並んでいる要素を横に書き出すのが確実で速い。
試験での引っ掛け
実際に落とすのは、スタック(後から入れたものを先に出す構造)との取り違えよりも、操作を追い切れずに数え違えるところである。上の問題でも、最後に入れた6を選ぶ誤答が用意されている。DEQのたびに先頭の要素を消し、その時点で並んでいる要素を書き出していけば数え違えは防げる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成30年度 秋期 基本情報技術者試験 午前 問5(IPA)解説で登場
待ち行列に対する操作を,次のとおり定義する。 ENQ n:待ち行列にデータnを挿入する。 DEQ:待ち行列からデータを取り出す。 空の待ち行列に対し,ENQ 1…
正解:5
要点:キューは先入れ先出し、取出し順は挿入順と同じ
待ち行列は先入れ先出しなので、取り出しは挿入順に行われる。操作を追うと1、2、3、4の順に取り出され、その時点で残っているのは5と6である。次の取出しでは最も古い5が出る。
出典:令和4年度 公開問題 基本情報技術者試験 科目B 問8(IPA)
次の記述中の に入れる正しい答えを、解答群の中から選べ。 優先度付きキューを操作するプログラムである。優先度付きキューとは扱う要素に優先度を付けたキューであり、…
正解:"A", "C", "D", "D"
要点:優先度付きキューは優先度順、同順位は先入れ先出し
優先度は数値が小さいほど高く、同じ優先度なら先に入れたものが先に出ます。前半でA(1)とB(2)が取り出され、次にD(3)とB(2)を追加した状態から、優先度2のC、続いて後から入れたB(2)が取り出されます。残ったD(3)とD(3)にC(2)とA(1)を加えて最後まで出力すると、A、C、D、Dの順になります。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。