IPA過去問ドリル

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

テクノロジ/アルゴリズム

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

出典:平成21年度 秋期 基本情報技術者試験 午前 問5

正解:ア

解説

スタックは後入れ先出し(LIFO)のデータ構造です。push 1→push 2→pop(2を取出す)→push 3→push 4→pop(4を取出す)→push 5→popの順に操作すると,取り出されるのは2,4,5であり,スタックに残るのは1と3になります。

選択肢ごとの解説

  • 正しい。順に操作をたどると2,4,5が取り出され,最終的に1と3がスタックに残ります。
  • 誤り。2と4はどちらも操作の途中でpopによって取り出されており,残るデータではありません。
  • 誤り。2は途中でpopされているため,最後まで残るデータには含まれません。
  • 誤り。4は途中でpopされているため,最後まで残るデータには含まれません。
基本情報技術者の過去問を演習モードで解く