システムアーキテクト暗記無料で始める

スタックとは?すたっく

スタックとは、最後に入れたものを最初に取り出す、後入れ先出しのデータ構造。積むpushと取り出すpopの2操作だけで扱い、途中の要素には触れない。手続の呼出しで戻り番地と局所変数を退避・復元する仕組みが、この構造そのもので実装されている。

最終更新:2026-10-06

試験情報

システムアーキテクト試験の過去問では1回出題されています。

システムアーキテクト試験の頻出用語/午前II

別名:LIFO

この語が出る過去問を解く →

背景

手続が別の手続を呼び、その先がさらに呼ぶという入れ子は、必ず内側から順に終わる。終わる順番が呼んだ順の逆だと分かっているなら、記憶領域も同じ規則で使い回せばよく、確保と解放が加算・減算だけで済む。一般の動的確保が要らないのはこのためで、再帰の深さが読めないとこの領域が尽きる(スタックオーバーフロー)のも同じ性質の裏側になる。

具体例

逆ポーランド記法の式は、数値なら積み、演算子なら上から2つ取り出して結果を積む、という手順だけで評価できる。JVMもメソッド呼出しごとにフレームを積む方式で、例外時に表示される呼出し履歴はこの積み重なりを上から書き出したものである。

試験での引っ掛け

n個の要素をこの構造を通して出力するときに作れる順序の総数はカタラン数で、n!ではない(積む・取り出すの並びに制約が入るため)。先入れ先出しのキューとの取り違えも定番で、割込み処理やジョブの順番待ちに使うのはキューの側になる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:午前II
  • n個の要素をこの構造を通して出力するときに作れる順序の総数はカタラン数で、n!ではない(積む・取り出すの並びに制約が入るため)。