問題
次の二つのスタック操作を定義する。 PUSH n:スタックにデータ(整数値 n)をプッシュする。 POP:スタックからデータをポップする。 空のスタックに対して,次の順序でスタック操作を行った結果はどれか。 PUSH 1 → PUSH 5 → POP → PUSH 7 → PUSH 6 → PUSH 4 → POP → POP → PUSH 3

選択肢
- 1(スタック上から)1, 7, 3
- 2(スタック上から)3, 4, 6
- 3(スタック上から)3, 7, 1
- 4(スタック上から)6, 4, 3
正解
3. (スタック上から)3, 7, 1
詳しい解説を見る解説を閉じる
解説
スタックは後入れ先出し(LIFO)。操作を順にたどると,PUSH1で[1],PUSH5で[1,5],POPで5を取り出し[1],PUSH7で[1,7],PUSH6で[1,7,6],PUSH4で[1,7,6,4],POPで4を取り出し[1,7,6],POPで6を取り出し[1,7],PUSH3で[1,7,3]。上から3,7,1となるウが正しい。(出典: 平成30年度 春期 基本情報技術者試験 午前 問5)
一問一答
科目A 180問+科目B 60問