A、B、C、Dの順に到着するデータに対して、一つのスタックだけを用いて出力可能なデータ列はどれか。
ア A、D、B、C
イ B、D、A、C
ウ C、B、D、A
エ D、C、A、B
ウ
スタックはLIFO (後入れ先出し) によりデータ列を操作する。
スタックに入れることをpush、スタックから出すことをpopという。
ア A、Dまでは出力可能。
イ B、Dまでは出力可能。
ウ 正しい。手順は以下の通り。
(便宜上、スタックの状態を左から順位表記する。)
Aをpush: スタック: A
Bをpush: スタック: AB
Cをpush: スタック: ABC
Cをpop : スタック: AB 出力: C
Bをpop : スタック: A 出力: CB
Dをpush: スタック: AD 出力: CB
Dをpop : スタック: A 出力: CBD
Aをpop : スタック: 出力: CBDA
エ D、Cまでは出力可能。
問4 | 目次 | 問6 |