平成24年度 秋期 応用情報技術者試験 午前 問5
テクノロジ/アルゴリズム配列を用いてスタックを実現する場合の構成要素として,最低限必要なものはどれか。
出典:平成24年度 秋期 応用情報技術者試験 午前 問5
- アスタックに最後に入った要素を示す添字の変数
- イスタックに最初に入った要素と最後に入った要素を示す添字の変数
- ウスタックに一つ前に入った要素を示す添字の変数を格納する配列
- エスタックの途中に入っている要素を示す添字の変数
正解:ア
解説
配列を用いてスタックを実現する場合,必要な情報は「スタックの先頭(最後に入れた要素)の位置を示す添字」だけです。push時にはこの添字を1つ増やしてから要素を格納し,pop時にはこの添字の位置の要素を取り出してから1つ減らすことで,LIFO(後入れ先出し)の動作を実現できます。
選択肢ごとの解説
- ア正しい。スタックの先頭(最後に入った要素)を示す添字が一つあれば,push・popの操作を実現できます。
- イ誤り。最初に入った要素の位置を示す添字は,スタックの操作には不要です。
- ウ誤り。各要素に一つ前の要素の添字を格納する配列はリスト構造の実現に使われる手法であり,配列によるスタックの実現には不要です。
- エ誤り。スタックの途中に入っている要素を指す添字は,LIFO構造のスタック操作には不要です。