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

  • ENQ n:待ち行列にデータnを挿入する。
  • DEQ :待ち行列からデータを取り出す。
空の待ち行列に対し,
ENQ1,ENQ2,ENQ3,DEQ,ENQ4,ENQ5,DEQ,ENQ6,DEQ,DEQ
の操作を行った。

次にDEQ操作を行ったとき,取り出されるデータはどれか。

×不正解です

待ち行列(キュー)は「先入先出し(FIFO)」のデータ構造で、最初に入ったデータが最初に取り出されます。ここでの操作を追跡してみましょう。

  1. 初期状態でキューは空です。
  2. ENQ1: キューに1を追加 → [1]
  3. ENQ2: 2を追加 → [2, 1]
  4. ENQ3: 3を追加 → [3, 2, 1]
  5. DEQ: 先頭の1を取り出す → [3, 2]
  6. ENQ4: 4を追加 → [4, 3, 2]
  7. ENQ5: 5を追加 → [5, 4, 3, 2]
  8. DEQ: 先頭の2を取り出す → [5, 4, 3]
  9. ENQ6: 6を追加 → [6, 5, 4, 3]
  10. DEQ: 先頭の3を取り出す → [6, 5, 4]
  11. DEQ: 先頭の4を取り出す → [6, 5]
  12. 次のDEQで取り出されるのは先頭の5です。
回答数 2
正解率 0.00%