過去問ぽちぽちby KKM Studio

平成28年度秋期 ITパスポート 問92 解説

後に入れたデータが先に取り出されるデータ構造(以下,スタックという)がある。これを用いて,図に示すような,右側から入力されたデータの順番を変化させて,左側に出力する装置を考える。この装置に対する操作は次の3通りである。

① 右側から入力されたデータをそのまま左側に出力する。

② 右側から入力されたデータをスタックの1番上に積み上げる。

③ スタックの1番上にあるデータを取り出して左側に出力する。

この装置の右側から順番にデータA,B,C,Dを入力した場合に,この①~③の操作を組み合わせても,左側に出力できない順番はどれか。

平成28年度秋期 問92 図1
  1. アB,A,D,C
  2. イB,D,C,A
  3. ウC,B,D,A
  4. エC,D,A,B
答えを見る

正解 エC,D,A,B

要点スタックは後入れ先出し(LIFO)で、積んだ順の逆に出る

解説

スタックは後に入れたものが先に出るため、積んだA→Bは必ずB→Aの順に出ます。

エ(C,D,A,B):最初にCを出すにはAとBを積む必要があり、このときスタックは下からA、B。Cを出し、Dをそのまま出した後、上にあるBより先にAは出せないので出力できません。

  • ア:Aを積む→Bを出す→Aを出す→Cを積む→Dを出す→Cを出す、で可能。
  • イ:Aを積む→Bを出す→Cを積む→Dを出す→C、Aの順に出す、で可能。
  • ウ:A、Bを積む→Cを出す→Bを出す→Dを出す→Aを出す、で可能。
App

スキマ時間に、1問ずつ。
アプリ「ITパスポート 過去問ぽちぽち」

全問を正答・解説つきで収録。毎日の10問に、忘れた頃の復習が自然に混ざります。広告なし・買い切り。

App Store近日公開Google Play近日公開