問題プレビューID: d8288161

問 5

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

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

解説

スタックは後入れ先出し(LIFO:Last In First Out)のデータ構造であり,最後に格納したデータから順に取り出される。操作を順に追うと次のとおりである。

  • push 1:スタックは [1]
  • push 2:スタックは [1, 2]
  • pop:2 を取り出し,スタックは [1]
  • push 3:スタックは [1, 3]
  • push 4:スタックは [1, 3, 4]
  • pop:4 を取り出し,スタックは [1, 3]
  • push 5:スタックは [1, 3, 5]
  • pop:5 を取り出し,スタックは [1, 3]

最終的にスタックに残っているデータは 1 と 3 である。したがって,正解は「ア」である。