データ構造 (全53問中52問目)
No.52
A,B,C,Dの順に到着するデータに対して,一つのスタックだけを用いて出力可能なデータ列はどれか。
出典:平成16年春期 問12
- A,D,B,C
- B,D,A,C
- C,B,D,A
- D,C,A,B
- [出題歴]
- 基本情報技術者 H22秋期 問5
- 基本情報技術者 H29秋期 問5
分類
テクノロジ系 » アルゴリズムとプログラミング » データ構造
正解
ウ
解説
スタックは後入れ先出し(LIFO)のデータ構造です。
データ列ごとに検証していくとわかるのですが、4つのデータ列の中で出力可能なのは「C,B,D,A」で、出力の過程は以下の通りです。
データ列ごとに検証していくとわかるのですが、4つのデータ列の中で出力可能なのは「C,B,D,A」で、出力の過程は以下の通りです。
- PUSH(A)
- PUSH(B)
- PUSH(C)
- POP(C)
- POP(B)
- PUSH(D)
- POP(D)
- POP(A)
- Cの前にBを出力することができません。
- Cの前にAを出力することができません。
- 正しい。
- Bの前にAを出力することができません。