過去問解きまくり研究所 ホーム

平成30年度 秋期 午前 問5

データ構造

待ち行列に関する問題

待ち行列に対する操作を,次のとおり定義する。

ENQ n :待ち行列にデータ n を挿入する。
DEQ   :待ち行列からデータを取り出す。

空の待ち行列に対し,ENQ 1,ENQ 2,ENQ 3,DEQ,ENQ 4,ENQ 5,DEQ,ENQ 6,DEQ,DEQ の操作を行った。次に DEQ 操作を行ったとき,取り出されるデータはどれか。

答えと解説を見る

✓ これが正解ウ5

解説

先に入れたものから順に出る並びを、丁寧に追いかけます。

待ち行列は、先に入れたデータから先に取り出される仕組みです。挿入は列の後ろに対して、取り出しは列の先頭に対して行われます。操作を順に追うと、1と2と3を入れた時点で列は 1、2、3 の並びです。最初の取り出しで1が出て、4と5を入れると 2、3、4、5 になります。次の取り出しで2が出て、6を入れると 3、4、5、6 です。続く二回の取り出しで3と4が順に出るので、列には 5、6 が残ります。したがって、その次に取り出されるのは先頭にある5です。途中の挿入に惑わされず、出た値を消しながら並びを書き直すのが確実な進め方になります。取り出しは全部で五回あり、出る順は入れた順とそろいます。五回目だけを問われている点に注意します。入れた順を保つ性質は、依頼を受け付けた順に処理したい場面で役立ちます。

ほかの選択肢はなぜ違うのか

出典:平成30年度 秋期 基本情報技術者試験 午前 問5

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)