平成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
- ア1
- イ2
- ウ5
- エ6
正解:ウ
解説
待ち行列(キュー)は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は現在キューの末尾にあり,先頭ではないためこの時点では取り出されません。