問96
頻出度★☆☆
先入れ先出し(First-In First-Out, FIFO)処理を行うのに適したキューと呼ばれるデータ構造に対して “8”,“1”,“6”,“3”の順に値を格納してから,取出しを続けて2回行った。2回目の取出しで得られる値はどれか。
この問題の解説と、これまでの解答の記録です。
先入れ先出し(First-In First-Out, FIFO)処理を行うのに適したキューと呼ばれるデータ構造に対して “8”,“1”,“6”,“3”の順に値を格納してから,取出しを続けて2回行った。2回目の取出しで得られる値はどれか。
正解 キューは先入れ先出し(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回目ではない。