本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成29年度 秋期 基本情報技術者試験問題と解説

問5

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: スタック:
 Bをpush: スタック: A
 Cをpush: スタック: AB
 Cをpop : スタック: AB  出力:
 Bをpop : スタック: A   出力: C
 Dをpush: スタック: A  出力: CB
 Dをpop : スタック: A   出力: CB
 Aをpop : スタック:     出力: CBD

エ D、Cまでは出力可能。

問4 目次 問6