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

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

ア 1と3 イ 2と4 ウ 2と5 エ 4と5

解答



解説

 スタック(stack)は、データを後入れ先出しLIFO = Last-In First-Out)で蓄えます。ちょうど、机の上に重ねた皿のように、最も上に重ねた皿を優先的に取り出すのと同様です。
 本問でのスタックの変化を以下に示します。

   1   2       3   4       5    ↓   ↓   ↑   ↓   ↓   ↑   ↓   ↑ ┐ ┌ ┐ ┌ ┐ ┌ ┐ ┌ ┐ ┌ ┐ ┌ ┐ ┌ ┐ ┌ ┐ ┌ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ │ │ │ │ │ │ │ │ │ │ │4│ │ │ │5│ │ │ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ │ │ │ │ │2│ │ │ │3│ │3│ │3│ │3│ │3│ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ ├─┤ │ │ │1│ │1│ │1│ │1│ │1│ │1│ │1│ │1│ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘



BohYoh.comトップページへ