平成21年 秋期 基本情報技術者 午前 問5

空のスタックに対して次の操作を行った場合、スタックに残っているデータはどれか。
ここで、“push x ”はスタックへデータx を格納し、“pop”はスタックからデータを取り出す操作を表す。

push 1 → push 2 → pop → push 3 → push 4 → pop → push 5 → pop

 ア  1と3  イ  2と4  ウ  2と5  エ  4と5


答え ア


解説
[ ]をスタックの状態とすると

  1. 「push 1」で“1”をスタックに格納し [1]
  2. 「push 2」で“2”をスタックに格納し [2, 1]
  3. 「pop」でスタックから“2”を取り出し [1]
  4. 「push 3」で“3”をスタックに格納し [3, 1]
  5. 「push 4」で“4”をスタックに格納し [4, 3, 1]
  6. 「pop」でスタックから“4”を取り出し [3, 1]
  7. 「push 5」で“5”をスタックに格納し [5, 3, 1]
  8. 「pop」でスタックから“5”を取り出し [3, 1]
したがって、スタックに残っているのは“1と3”(ア)である。


キーワード
・スタック

キーワードの解説
  • スタック
    データを一時的に記憶するためにメモリに割り当てる領域のことです。
    データの取り出しを行うとき、取り出されるデータは最後に挿入されたデータになるので、後入れ先出し方式(Last-In First-Out、LIFO)とも呼ばれます。

もっと、「スタック」について調べてみよう。

戻る 一覧へ 次へ