ホーム用語辞典 > スタック

スタックとは?

スタック(stack)とは、データを「後から入れたものほど先に取り出す」形でためておくデータ構造です。この出し入れの決まりを LIFO(Last In First Out:後入れ先出し) と呼びます。

イメージは積み上げた皿。入れるのも取り出すのも、いちばん上だけで行います。上に積む操作をプッシュ(push)、上から取り出す操作をポップ(pop)といいます。最後に置いた皿が最初に取れる——それがスタックです。

スタック:上に積んで(push)、上から取る(pop) = LIFO A(最初) B C(最後) push(積む) pop(取る) 最後に積んだ C から取れる
図:スタックは後入れ先出し(LIFO)。入れるのも取り出すのも「上」から

身近な使われ方も、実はスタックです。プログラムの関数の呼び出し履歴(コールスタック)、エディタやブラウザの「戻る/Undo」、そして逆ポーランド記法での式の計算。どれも「最後にしたことから片づける」場面で活躍します。

基本情報技術者試験では、「スタックはLIFO」「プッシュ/ポップを順に行った後の中身」「逆ポーランド記法の評価」などが問われます。対になる構造が、先に入れたものから出すキュー(FIFO)です。

🔗 関連:スタックとキューの可視化(プッシュ/ポップを操作して体感)/ データ構造をやさしく図解用語辞典トップ