スタック | Programming Place Plus 用語集

トップページ用語集

名称

このページでは、データ構造としてのスタックを取り上げます。コールスタックのことを単にスタックと呼ぶ場合もあります。

解説

後で追加したデータから取り出されるという特徴をもつデータ構造の一種です。

「後で追加したデータから取り出されるという特徴」は、後入れ先出し(LIFO: Last-In First-Out)と呼ばれます。また、スタックにデータを追加することをプッシュ(push)、取り出すことをポップ(pop)と呼びます。

後入れ先出しという特徴はよく、机の上に積み上げた本や書類で例えられます。積み上げられた本があるとき、新しい本は一番上に乗せるしかなく、取り上げることができるのは一番上に積まれている本である、ということです。

このような特徴を実現する基本機能(プッシュとポップ)を定義した抽象データ型)のことを指して、スタックと呼ぶこともあります。

抽象データ型としてのスタックも含め、その考え方や実装方法を、アルゴリズムとデータ構造編【データ構造】第5章で解説しています。

C++ の標準ライブラリには、スタックを実装した std::stack があります(C++編【標準ライブラリ】第10章)]{.note}

スタックは非常に有用なデータ構造です。たとえば、関数呼び出しと、呼び出し元への復帰を実現するために、引数ローカル変数、戻り先のメモリアドレスリターンアドレス)を保存するなどの用途で使われています(コールスタック)。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る