次の二つのスタック操作を定義する。
PUSH n: スタックにデータ(整数値 n)をプッシュする。
POP: スタックからデータをポップする。
空のスタックに対して,次の順序でスタック操作を行った結果はどれか。
PUSH 1 → PUSH 5 → POP → PUSH 7 → PUSH 6 → PUSH 4 → POP→ POP → PUSH 3
ア
1 |
7 |
3 |
イ
3 |
4 |
6 |
ウ
3 |
7 |
1 |
エ
6 |
4 |
3 |
解説を読む
正解:ウ
解説:
本問でのスタック操作の遷移は次のとおりです。
上記によりウが正解となります。
スタックの性質上最後のPUSH3があることからスタックに残る最上位は3が確定していますので、イ、ウのいずれかが解答になります。後ろからPOPが2回続いているので4,6がそれぞれ取り出されたことが分かりスタックに残る2番目の数値は7であることが判りウが正答となります。このように後ろから見ていくと理解しやすい場合があります。
解説を閉じる
コメント