閉じる

ITパスポート平成22年春期 問85

問85
note_alt
calculate

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

分類 :

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズムとプログラミング

正解 :

ウ

解説 :

Zを最初に出力するには、先に入力されるXとYをスタックへ入れておく必要があります。その場合、下からX、Yの順に積まれるので、Zの次に取り出せるのは上側のYです。XをYより先に出すことはできません。

したがってZ、X、Yは実現できません。X、Z、YはXを直送してYを保留、Y、Z、XはXだけを保留、Z、Y、XはXとYを積んでから順に取り出すことで実現できます。

▲
Pagetop