本文へスキップ

平成30年度 春期 ITパスポート試験 問96

この問題の解説と、これまでの解答の記録です。

問96
頻出度★☆☆

先入れ先出し(First-In First-Out, FIFO)処理を行うのに適したキューと呼ばれるデータ構造に対して “8”,“1”,“6”,“3”の順に値を格納してから,取出しを続けて2回行った。2回目の取出しで得られる値はどれか。

出典 平成30年度 春期 ITパスポート試験 問96
解説

問 96

  • ア

    正解 キューは先入れ先出し(FIFO)のデータ構造で、先に格納した値ほど先に取り出される。ここでは「8」→「1」→「6」→「3」の順に格納したので、取り出す順番も格納した順と同じく「8」→「1」→「6」→「3」となる。1回目の取出しで最初に入れた「8」が得られ、2回目の取出しではその次に入れた「1」が得られる。したがって2回目の取出しで得られる値は「1」であり、正解はア。

  • 不正解イ

    「3」は最後(4番目)に格納した値。FIFOでは最後に入れた値は最後に取り出されるので、取出しは4回目になる。2回目には得られない。

  • 不正解ウ

    「6」は3番目に格納した値なので、取り出されるのも3回目。2回目の取出しで得られる値ではない。

  • 不正解エ

    「8」は最初に格納した値で、FIFOでは最初に取り出される。よってこれは1回目の取出しで得られる値であり、2回目ではない。

ここがポイント
  • キュー(Queue)は先入れ先出し(FIFO)構造で、格納した順序と同じ順序で取り出される。最後に入れた値ほど後で取り出される。
  • 後入れ先出し(LIFO)のスタックとの対比を押さえる。スタックなら2回目の取出しは逆順で「3」の次「6」となるが、キューでは格納順どおりに取り出される点が違う。
用語

解答の記録