- トップページ
- 応用情報技術者
- 平成28年度春季問題一覧
- 平成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通りの出力が存在する。
お問い合わせ