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

問5

空のスタックに対して次の操作を行った場合,スタックに残っているデータはどれか。ここで,“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.png/image-size:81×14
  2. push2: "2"をスタックに積みます。05_2.png/image-size:81×14
  3. pop: 最後に積んだ"2"を取り出します。05_3.png/image-size:81×14
  4. push3: "3"をスタックに積みます。05_4.png/image-size:81×14
  5. push4 "4"をスタックに積みます。05_5.png/image-size:81×14
  6. pop: 最後に積んだ"4"を取り出します。05_6.png/image-size:81×14
  7. push5 "5"をスタックに積みます。05_7.png/image-size:81×14
  8. pop: 最後に積んだ"5"を取り出します。05_8.png/image-size:81×14
これで操作は終了なので、スタックに残っているデータは1と3ということになります。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop