基本情報技術者試験 2003年度 = 平成15年度・春期 午前 問13

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

 ア 1  イ 2  ウ 5  エ 6

解答

 ウ

解説

 キューqueue)は、データを先入れ先出し(FIFO = First-In First-Out)で蓄えます。ちょうど、銀行の待ち行列のように、より早く到着して待っているお客さんから、優先的に手続きが行われるのと同様です。
 本問では、キューに対して下図のように操作が行われます。

       先頭            末尾       ┏━┯━┯━┯━┯━┯━┯━┯━┓       ┃1│ │ │ │ │ │ │ ┃ ← ENQ 1       ┗━┷━┷━┷━┷━┷━┷━┷━┛       ┏━┯━┯━┯━┯━┯━┯━┯━┓       ┃1│2│ │ │ │ │ │ ┃ ← ENQ 2       ┗━┷━┷━┷━┷━┷━┷━┷━┛       ┏━┯━┯━┯━┯━┯━┯━┯━┓       ┃1│2│3│ │ │ │ │ ┃ ← ENQ 3       ┗━┷━┷━┷━┷━┷━┷━┷━┛       ┏━┯━┯━┯━┯━┯━┯━┯━┓ DEQ 1 ←  ┃2│3│ │ │ │ │ │ ┃       ┗━┷━┷━┷━┷━┷━┷━┷━┛       ┏━┯━┯━┯━┯━┯━┯━┯━┓       ┃2│3│4│ │ │ │ │ ┃ ← ENQ 4       ┗━┷━┷━┷━┷━┷━┷━┷━┛       ┏━┯━┯━┯━┯━┯━┯━┯━┓       ┃2│3│4│5│ │ │ │ ┃ ← ENQ 5       ┗━┷━┷━┷━┷━┷━┷━┷━┛       ┏━┯━┯━┯━┯━┯━┯━┯━┓ DEQ 2 ←  ┃3│4│5│ │ │ │ │ ┃       ┗━┷━┷━┷━┷━┷━┷━┷━┛       ┏━┯━┯━┯━┯━┯━┯━┯━┓       ┃3│4│5│6│ │ │ │ ┃ ← ENQ 6       ┗━┷━┷━┷━┷━┷━┷━┷━┛       ┏━┯━┯━┯━┯━┯━┯━┯━┓ DEQ 3 ←  ┃4│5│6│ │ │ │ │ ┃       ┗━┷━┷━┷━┷━┷━┷━┷━┛       ┏━┯━┯━┯━┯━┯━┯━┯━┓ DEQ 4 ←  ┃5│6│ │ │ │ │ │ ┃       ┗━┷━┷━┷━┷━┷━┷━┷━┛

 次にDEQが行われたときに取り出されるのは5であることが分かります。


BohYoh.comトップページへ