問題
次の擬似言語プログラムでは、スタックstackに値を格納・取り出しを行う。最終的にstackに残る値はどれか(先頭が上)。 stackは空 push(stack, 10) push(stack, 20) push(stack, 30) pop(stack) push(stack, 40) pop(stack)
選択肢
- 1ア [10, 20]
- 2イ [20, 10]
- 3ウ [30, 20, 10]
- 4エ [40, 30, 20, 10]
解答と解説を見る
正解
2. イ [20, 10]
解説
スタックはLIFO(後入れ先出し)。操作の追跡:①push 10→[10]、②push 20→[20,10]、③push 30→[30,20,10]、④pop→30を取り出し[20,10]、⑤push 40→[40,20,10]、⑥pop→40を取り出し[20,10]。最終結果は[20,10]で、20が先頭です。