令和元年度 I-2-6

科目: 基礎科目 / 分野: 情報・論理 / 年度: 令和元年度

I-2-6 問題画像

出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」

PUSHとPOPの操作を順に行ったとき、スタックから最後に取り出されるデータを求める問題。

解説

この問題で問われていること

スタック(後入れ先出し)に対する一連の操作の後、最後に取り出されるデータを求める問題。

解き方

① スタックは最後に入れたものから出る(後入れ先出し)。中身を書きながら追う
② [1,2,3,4] → POP 4 → POP 3 → [1,2] → PUSH 5 → [1,2,5] → POP 5 → POP 2
③ ②

正解が正しい理由

PUSH 1〜4でスタックは[1,2,3,4](右が上)。POPで4、POPで3が取り出され[1,2]。PUSH 5で[1,2,5]。POPで5、最後のPOPで2が取り出される。したがって②が正しい。

各選択肢について

覚えるべきポイント

スタックは後入れ先出し(LIFO)、キューは先入れ先出し(FIFO)。操作ごとに中身を書き出して追えば間違えない。

キーワード: スタック、後入れ先出し、LIFO、PUSH、POP、情報・論理