下から上へデータを積み上げ、上にあるデータから順に取り出すデータ構造(以下、スタックという)がある。これを用いて、図に示すような、右側から入力されたデータの順番を変化させて、左側に出力する装置を考える。この装置に対する操作は次の3通りである。①右側から入力されたデータをそのまま左側に出力する。②右側から入力されたデータをスタックに積み上げる。③スタックの1番上にあるデータを取り出して左側に出力する。この装置の右側から順番にX、Y、Zを入力した場合に、この①〜③の操作を組み合わせても、左側に出力できない順番はどれか。

スタックは後入れ先出しで順序が制約される

ITパスポート2010年度 春期85/アルゴリズムとプログラミング / データ構造

スタックを用いたデータ順番変換装置の図。右側からX、Y、Zが入力される。入力データは①の経路でそのまま左側へ出力されるか、②の経路でスタックに積み上げられ、後で③の経路でスタックの一番上から取り出されて左側に出力される。
スタックを用いたデータ順番変換装置の図。右側からX、Y、Zが入力される。入力データは①の経路でそのまま左側へ出力されるか、②の経路でスタックに積み上げられ、後で③の経路でスタックの一番上から取り出されて左側に出力される。

選択肢

正解と解説

正解: Z, X, Y

スタックは後に入れたものが先に出る構造なので、いったん積んだデータより先に、それより下にあるデータを取り出すことはできない。Zを最初に出すにはX、Yを順に積む必要があり、その状態でスタックの一番上はYであるから、次に出せるのはYに限られる。したがってZの次にXが出る順番は実現できない。

選択肢ごとの解説

出典:平成22年度 春期 ITパスポート試験 問85(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。