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

スタックは後入れ先出し、積んだ順の逆でしか出せない

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

スタック装置の図。右側から「A, B, C, D」が矢印で入力される。装置内部には①(そのまま左に出力する経路)、②(スタックへ積む経路)、③(スタックから取り出す経路)が描かれ、下部に「スタック」というボックスがある。左側に出力矢印がある。
スタック装置の図。右側から「A, B, C, D」が矢印で入力される。装置内部には①(そのまま左に出力する経路)、②(スタックへ積む経路)、③(スタックから取り出す経路)が描かれ、下部に「スタック」というボックスがある。左側に出力矢印がある。

選択肢

正解と解説

正解: C, D, A, B

スタックは後入れ先出しなので、積んだ順の逆でしか取り出せない。Cを最初に出すにはAとBを積む必要があり、スタック内はAが下、Bが上になる。この状態ではAより先にBが出るため、AをBより先に出す順番は作れない。

選択肢ごとの解説

出典:平成28年度 秋期 ITパスポート試験 問92(IPA)

同じ分野の他の問題

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