修了試験 2019-12-08実施分 基本情報技術者試験 問7
A,B,C,Dの順に到着するデータに対して,一つのスタックだけを用いて出力可能なデータ列はどれか。
正答3
解説
正解は3です。 スタックは、最後に入れたデータを最初に取り出す後入れ先出し(LIFO:Last In First Out)の構造です。 データはA、B、C、Dの順に到着し、到着したものをプッシュ(格納)するか、先頭をポップ(取出し)するかを選べます。 【選択肢別解説】 1:× Aを出力したあと、Dを出すにはB、C、Dを積む必要があります。 Dを出すと先頭はCなので、次にBを出すことはできません。 2:× Bを出したあと、C、Dを積んでDを出すと先頭はCです。 その下のAを先に出すことはできません。 3:○ A、B、Cを積んでCを出し、続けてBを出します。 Dを積んですぐ出し、最後に残ったAを出せば実現できます。 4:× A〜Dを積んでD、Cを出すと先頭はBです。 Bより下にあるAを先に出すことはできません。 【ポイント】 スタックでは、取り出したデータより先に積まれていたものは、積んだ順の逆でしか出せません。 出力列の各データについて、その時点のスタックの中身を書きながら確かめます。まとめて解く
修了試験 2019-12-08実施分を通しで解く(80問)→