スタックとは?
スタックとは、最後に入れたデータを最初に取り出す(後入れ先出し)データ構造。push(積む)とpop(取り出す)で操作する。関数呼出し時の戻り番地や局所変数の退避・復元に使われる。
システムアーキテクト試験の過去問では1回出題されています。
すたっく
スタックの意味
最後に入れたデータを最初に取り出す(後入れ先出し)データ構造。push(積む)とpop(取り出す)で操作する。関数呼出し時の戻り番地や局所変数の退避・復元に使われる。
スタックの具体例
再帰呼出しでは、呼び出すたびに現在の状態をスタックへ積み、戻るときに逆順で復元する。逆ポーランド表記の評価もスタックで行う。
スタックは試験でどう引っ掛けられる?
n個の要素をスタック経由で出力するときに作れる順序の総数はカタラン数になる。単純にn!ではない。
スタックと関連する用語
スタックが出た過去問
あるプログラム言語によるプログラミングの解説書の中に次の記述がある。この記述中の"良いプログラム"がもっている特性はどれか。 このプログラム言語では、関数を呼び…
正解:プログラムの一部(関数)を変更しても、他の関数への影響が少ない。
要点:引数渡しは結合度を下げ変更の影響を局所化する
引数として受け渡していたデータを、どこからでも参照できる共通域(グローバル変数)に移すと、関数間の結合度が高まる。ある関数の変更が共通域を使う他の関数へ波及しやすくなるため、メモリを節約できても保守性の面で望ましくない。したがって「良いプログラム」が持つ特性は、変更の影響が他へ及びにくいことである。
出典:令和1年度 秋期 システムアーキテクト試験 am2 問5(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。