問題プレビューID: 40bab4f2

問 5

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

ENQ n\text{ENQ}\ n:待ち行列にデータ nn を挿入する。

DEQ\text{DEQ}:待ち行列からデータを取り出す。

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

解説

待ち行列は FIFO(先入れ先出し)である。操作を順に追う。

操作待ち行列の内容取り出した値
ENQ 11
ENQ 21, 2
ENQ 31, 2, 3
DEQ2, 31
ENQ 42, 3, 4
ENQ 52, 3, 4, 5
DEQ3, 4, 52
ENQ 63, 4, 5, 6
DEQ4, 5, 63
DEQ5, 64

この状態で次に DEQ 操作を行うと、先頭の 5 が取り出される。したがって、正解は「ウ」である。