ウカマルITパスポートログイン

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

テクノロジ系

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

① 右側から入力されたデータをそのまま左側に出力する。 ② 右側から入力されたデータをスタックの1番上に積み上げる。 ③ スタックの1番上にあるデータを取り出して左側に出力する。

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

図

図の内容(文字)
装置(箱)の右側からデータ A,B,C,D が左向きの矢印で入力される。箱の左側からデータが左向きの矢印で出力される。箱の中には,右から左へ直接通り抜ける矢印①と,その下に上部が開いた容器「スタック」がある。右側から入ってスタックに下向きに入る矢印が②,スタックから上に出て左側へ向かう矢印が③。
選択肢
正解と解説

正解 エ

スタックに積んだAとBは、後に積んだBから取り出されます。C、Dの後にA、Bの順で出力することはできません。

スタックは、後に入れたデータが先に取り出されるLIFO(Last In First Out)のデータ構造です。エは、最初にCを出力するため、AとBをこの順でスタックに積む必要があります。Cを①で出力し、次にDも①で出力します。このときスタックの一番上はBなので、Bより先にAを取り出すことはできません。したがって、C、D、A、Bの順番は出力できません。

ア:Aを積み、Bを①で出力し、Aを③で出力します。次にCを積み、Dを①で出力し、Cを③で出力すれば、この順番になります。

イ:Aを積み、Bを①で出力し、Cを積み、Dを①で出力します。そのあとC、Aの順に③で取り出せば、この順番になります。

ウ:A、Bを積み、Cを①で出力し、Bを③で出力します。次にDを①で出力し、Aを③で出力すれば、この順番になります。

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

全年度から出題。10問で実力を判定します。登録不要。

出典:平成28年度 秋期 ITパスポート試験 問92(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方