基本情報技術者平成16年春期 午前問12

午前問12

A,B,C,Dの順に到着するデータに対して,一つのスタックだけを用いて出力可能なデータ列はどれか。
  • 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」で、出力の過程は以下の通りです。
  1. PUSH(A) 12_1.gif/image-size:81×14
  2. PUSH(B) 12_2.gif/image-size:81×14
  3. PUSH(C) 12_3.gif/image-size:81×14
  4. POP(C) 12_4.gif/image-size:81×14
  5. POP(B) 12_5.gif/image-size:81×14
  6. PUSH(D) 12_6.gif/image-size:81×14
  7. POP(D) 12_7.gif/image-size:81×14
  8. POP(A) 12_8.gif/image-size:81×14
  • Cの前にBを出力することができません。
  • Cの前にAを出力することができません。
  • 正しい。
  • Bの前にAを出力することができません。
© 2010-2020 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop