データ構造とアルゴリズム
空のキューに A、B、C の順に要素を入れ、1つ取り出し、D を入れて1つ取り出し、E を入れて1つ取り出した。取り出された要素を順に並べたものはどれか。
- AA, B, C
- BC, D, E
- CC, B, A
答えと解説を見る
正解:A. A, B, C
キューは先に入れたものから順に取り出す先入れ先出し(FIFO)の構造です。A、B、C を入れた後の最初の取り出しでは A が出ます。その後 D や E を後ろに加えても、先頭にある B、C が先に出るので、取り出される順は A、B、C で、最後に D と E が残ります。C、D、E は、そのつど最後に入れたものを出すスタック(LIFO)として扱った場合の順です。キューは、プリンタの印刷待ちや、タスク間でデータを受け渡すメッセージキュー、幅優先探索などに使われます。
- A. 正しい。後から入れた D や E より、先に入れた B、C が先に出ます。
- B. そのつど最後に入れたものを出すスタック(LIFO)として扱った場合の順です。
- C. 入れた順の逆で、キューの順番ではありません。