スタックとは?
スタック(stack)とは、データを「後から入れたものほど先に取り出す」形でためておくデータ構造です。この出し入れの決まりを LIFO(Last In First Out:後入れ先出し) と呼びます。
イメージは積み上げた皿。入れるのも取り出すのも、いちばん上だけで行います。上に積む操作をプッシュ(push)、上から取り出す操作をポップ(pop)といいます。最後に置いた皿が最初に取れる——それがスタックです。
身近な使われ方も、実はスタックです。プログラムの関数の呼び出し履歴(コールスタック)、エディタやブラウザの「戻る/Undo」、そして逆ポーランド記法での式の計算。どれも「最後にしたことから片づける」場面で活躍します。
基本情報技術者試験では、「スタックはLIFO」「プッシュ/ポップを順に行った後の中身」「逆ポーランド記法の評価」などが問われます。対になる構造が、先に入れたものから出すキュー(FIFO)です。
🔗 関連:スタックとキューの可視化(プッシュ/ポップを操作して体感)/ データ構造をやさしく図解 / 用語辞典トップ