スタック(Stack)

スタック(Stack)とは、後から入れたデータを先に取り出すデータ構造(データの管理方式)のことです。

スタックは、机の上に本をどんどん「積み重ねた山」と同じ動きをします。
  • 後入先出(LIFO:Last-In, First-Out)
    • 新しい本は、常に山の一番上に重ねていきます。
    • 本を取り出すときは、一番上にある(最後に乗せた)本からしか取れません。
    • この「後に入れたものを先に出す」仕組みをLIFO(ライフォ)またはFILO(First-In, Last-Out)と呼びます。
スタックにデータを出し入れする操作の名前です。キューの用語と混ざらないように注意しましょう。
  • プッシュ(Push)
    • スタックの一番上にデータを追加することです。

  • ポップ(Pop)
    • スタックの一番上からデータを取り出す(削除する)ことです。

ITパスポートや基本情報の試験では、「スタックがどんな処理に向いているか」という特徴も問われます。
  • ブラウザの「戻る」ボタン
    • Aページ → Bページ → Cページ と進んだあと、「戻る」を押すと直前に見たBページに戻ります。これもスタックの仕組みです。

  • プログラムの「元に戻す(Undo)」機能
    • Excelなどで入力を間違えたとき、直前の操作をキャンセルして1つ前の状態に戻す処理です。

  • 関数の呼び出し(基本情報向け)
    • プログラムで別の処理(関数)を実行し、終わったら「呼び出し元の場所」へ戻るために、元の場所の記録をスタックに保存します。