必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 応用情報技術者
  3. 平成28年度春季問題一覧
  4. 平成28年度春季問題5-解答・解説-分析

平成28年度春季問題

問題5

A、B、Cの順序で入力されるデータがある。 各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合、データの出力順序は何通りあるか。

3
4
5
6

A、B、Cの順序で入力されるデータがある。 各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合、データの出力順序は何通りあるか。

3
4
5
6

解答:ウ

<解説>

スタックとは、ある場所に格納したデータを、新しく格納した順に取り出すようにする方式。一番古く格納されたデータが一番最後に取り出される、LIFO(Last In, First Out:後入れ先出し)型のバッファのことである。

出力順序を考えると,次の6つの組み合わせがある。

A→B→C AをPush→AをPop→BをPusu→BをPop→CをPop→CをPop
A→C→B AをPush→AをPop→BをPusu→CをPush→CをPop→BをPop
B→A→C AをPush→BをPush→BをPop→AをPop→CをPush→CをPop
B→C→A AをPush→BをPush→BをPop→CをPush→CをPop→AをPop
× C→A→B AをPush→BをPush→CをPusu→CをPop
※Bを取出さずにその下のAを取り出すことができない。
C→B→A AをPush→BをPush→CをPusu→CをPop→BをPop→AをPop

よって、C→A→Bを除く5通りの出力が存在する。