基本情報暗記無料で始める

スタックとは?すたっく

スタックとは、最後に入れたデータを最初に取り出す後入先出(LIFO)のデータ構造。データを積む操作をプッシュ、取り出す操作をポップという。関数を呼び出したときの戻り先アドレスの保存、式の計算、再帰処理(関数が自分自身を呼び出す処理)の実現などに使われる。

最終更新:2026-10-09

試験情報

基本情報技術者試験の過去問では5回出題され、ほかに1問の解説で触れられています(2017年度〜2025年度)。

基本情報技術者試験の頻出用語/テクノロジ系

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

背景

処理の途中で別の処理へ飛ぶとき、戻り先を1つの変数に覚えると、飛んだ先からさらに飛んだ瞬間に上書きされてしまう。積み上げて最後の1つから取り出す形にすれば、何段深く飛んでも順番どおりに戻れる。基本情報の科目Bでは、操作の列をたどって最終状態や取り出される順を答える問題が定番になっている。

具体例

空のスタックに push 1, push 2, pop, push 3, pop, pop と操作すると、取り出される順は2、3、1になる。Java や Python の実行環境も、関数呼び出しのたびにこの仕組みで戻り先を積む。

試験での引っ掛け

先に入れたものから出るキュー(FIFO)との取り違えが最頻出。空の状態でポップするとアンダフロー、容量を超えてプッシュするとオーバフローになる。プッシュとポップが交互に混ざる操作列は、途中経過を1つずつ書き出さないと順序を誤る。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

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

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

試験での特徴
  • 試験では5回出題(2017年度〜2025年度)
  • 分野:テクノロジ系
  • 先に入れたものから出るキュー(FIFO)との取り違えが最頻出。