過去問解きまくり研究所 ホーム

平成21年度 秋期 午前 問5

データ構造

スタックに残っているデータ

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

push 1 → push 2 → pop → push 3 → push 4 → pop → push 5 → pop
答えと解説を見る

✓ これが正解ア1と3

解説

後入れ先出しなので最後に入れた値から出ます。

スタックは、最後に入れたものが最初に出てくる並べ方です。取り出す操作は、いま一番上に積まれているものを下ろす働きをします。見分ける軸は二つあります。一つは、取り出しで出ていくのが古い側か新しい側かという向きです。もう一つは、格納が五回で取出しが三回なので、最後に残るのは必ず二個だという数え方です。四つの選択肢はどれも二個を挙げているため、個数では絞れません。そこで一操作ずつ書き出して、そのつど何が積まれているかを追います。格納を二回して取出しを一回行うと、先に入れた一つだけが残ります。続けて二回格納して取出しを一回行うと新しい側が下り、さらに一回格納して取出しを一回行うと再び新しい側が下ります。この形は関数の呼び出しと戻りや括弧の対応など、入れ子の関係を追う仕組みそのものです。

ほかの選択肢はなぜ違うのか

出典:平成21年度 秋期 基本情報技術者試験 午前 問5

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)