平成21年度 秋期 基本情報技術者試験 午前 問5
テクノロジ/アルゴリズム空のスタックに対して次の操作を行った場合,スタックに残っているデータはどれか。ここで,“push x”はスタックへデータ x を格納し,“pop”はスタックからデータを取り出す操作を表す。 push 1 → push 2 → pop → push 3 → push 4 → pop → push 5 → pop
出典:平成21年度 秋期 基本情報技術者試験 午前 問5
- ア1と3
- イ2と4
- ウ2と5
- エ4と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されているため,最後まで残るデータには含まれません。