平成21年秋期試験問題 午前問5

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
空のスタックに対して次の操作を行った場合,スタックに残っているデータはどれか。ここで,“push x”はスタックへデータxを格納し,“pop”はスタックからデータを取り出す操作を表す。

push1→push2→pop→push3→push4→pop→push5→pop

  • 1 と 3
  • 2 と 4
  • 2 と 5
  • 4 と 5
正解 問題へ
分野:テクノロジ系
中分類:アルゴリズムとプログラミング
小分類:データ構造
解説
スタックは、LIFO(後入れ先出し)の特徴をもつデータ構造です。

操作を順番に見ていきましょう。
  1. push1: "1"をスタックに積みます。05_1.gif
  2. push2: "2"をスタックに積みます。05_2.gif
  3. pop: 最後に積んだ"2"を取り出します。05_3.gif
  4. push3: "3"をスタックに積みます。05_4.gif
  5. push4 "4"をスタックに積みます。05_5.gif
  6. pop: 最後に積んだ"4"を取り出します。05_6.gif
  7. push5 "5"をスタックに積みます。05_7.gif
  8. pop: 最後に積んだ"5"を取り出します。05_8.gif
これで操作は終了なので、スタックに残っているデータは1と3ということになります。

Pagetop