基本情報技術者試験 2018年度 = 平成30年度・秋期 午前 問5

 待ち行列に対する操作を、次のとおり定義する。
  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トップページへ