平成28年秋期試験問題 問92
問92
解説へ
note_alt
calculate
後に入れたデータが先に取り出されるデータ構造(以下,スタックという)がある。これを用いて,図に示すような,右側から入力されたデータの順番を変化させて,左側に出力する装置を考える。この装置に対する操作は次の3通りである。
- 右側から入力されたデータをそのまま左側に出力する。
- 右側から入力されたデータをスタックの1番上に積み上げる。
- スタックの1番上にあるデータを取り出して左側に出力する。

- B,A,D,C
- B,D,C,A
- C,B,D,A
- C,D,A,B
広告
解説
Cを最初に出すにはAとBをスタックへ退避し、Cを出します。その後Dも出せますが、スタックは上がB、下がAなのでAを先には出せません。
したがってC、D、A、Bは不可能です。後に積んだBが先に出るというLIFOの制約が、最後の二つの順序を決めます。
広告