パスポイ

後に入れたデータが先に取り出されるデータ構造(以下,スタックという)がある。 ITパスポート 平成28年度秋期92

テクノロジ系

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

平成28年度秋期 問92の図
  • B, A, D, C
  • B, D, C, A
  • C, B, D, A
  • C, D, A, B
正解と解説を見る

正解

C, D, A, B

正解は④(C, D, A, B)。このデータ構造はLIFO(後入れ先出し)のスタックであり、一度スタックの下に積まれたデータは、その上にあるデータが先に取り出されるまで取り出せない。C, D, A, Bを出力するには、Cを出すために先にA, Bをスタックに積む必要があるが、その結果Aの上にBが積まれた状態になり、3番目にAを出そうとしてもBがまだ必要とされておらず取り出せないため、この順序は実現できない。他の選択肢(B,A,D,C / B,D,C,A / C,B,D,A)はいずれもスタック操作の組合せで実現可能である。

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

問題文および選択肢は独立行政法人情報処理推進機構(IPA)が公開する試験問題に基づいています。著作権はIPAに帰属します。解説は当サイトが独自に作成したものです。

解いて競うと、毎月1位にAmazonギフト券5,000円分

無料登録すると過去問演習のスコアが月間ランキングに記録されます。1回10問・スマホでサクッと。