IPA過去問ドリル

平成25年度 秋期 基本情報技術者試験 午前 問5

テクノロジ/アルゴリズム

待ち行列に対する操作を,次のとおり定義する。 ENQ n:待ち行列にデータnを挿入する。 DEQ :待ち行列からデータを取り出す。 空の待ち行列に対し,ENQ 1,ENQ 2,ENQ 3,DEQ,ENQ 4,ENQ 5,DEQ,ENQ 6,DEQ,DEQの操作を行った。次にDEQ操作を行ったとき,取り出される値はどれか。

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

正解:ウ

解説

待ち行列(キュー)はFIFO(先入れ先出し)で動作します。ENQ1,2,3で[1,2,3],DEQで1が出て[2,3],ENQ4,5で[2,3,4,5],DEQで2が出て[3,4,5],ENQ6で[3,4,5,6],DEQで3が出て[4,5,6],DEQで4が出て[5,6]となります。次のDEQでは先頭の5が取り出されます。

選択肢ごとの解説

  • 誤り。1は最初のDEQで既に取り出されており,この時点では残っていません。
  • 誤り。2は2回目のDEQで既に取り出されており,この時点では残っていません。
  • 正しい。操作を順にたどると,最後に残るのは先頭から5,6の順であり,次のDEQで取り出されるのは5です。
  • 誤り。6は現在キューの末尾にあり,先頭ではないためこの時点では取り出されません。
基本情報技術者の過去問を演習モードで解く