スタック(データ構造)

スタックは、コンピュータサイエンスにおいて最も重要なデータ構造の一つである。スタックの仕組みを理解するために、裏向きのトランプの山札を思い浮かべてください。私たちは、一番上にあるカードにしか簡単にアクセスできない。一番上のカードを見たいとき、2つの方法がある:覗き込むがスタックに残しておくか、ポップオフする。一番上のものを飛び出させるということは、積み重ねから外すということです。もし別のカードをスタックの一番上に追加したい場合は、プッシュします。

スタックはLIFO(Last-in-First-Out)コレクションと呼ばれます。これは、最後に加えた(押した)ものが、最初に引き抜かれる(弾き出される)ことを意味します。例えば,最後に置いたカードがエースなら,一番上から引いたカードも同じエースである.

スタックに対する2つのアクション、プッシュとポップ。Zoom
スタックに対する2つのアクション、プッシュとポップ。

沿革

このスタックは、1955年にドイツのFriedrich L. Bauerによって提案され、1957年に特許を取得した。同じコンセプトは、ほぼ同時期にオーストラリアのチャールズ・レナード・ハンブリンによって独自に開発された。

その他の操作

現代のコンピュータ言語では、スタックは通常、「push」と「pop」以外の操作で実装されています。ある実装では、スタックの現在の長さを返す関数がある。もうひとつの典型的なヘルパー操作は「top」(「peek」とも呼ばれる)で、これはスタックの現在の先頭要素を削除することなく返すことができる。もうひとつの一般的な操作は「dup」であり、スタックの先頭の要素のコピーを作成する。

関連ページ

  • スタックマシン

AlegsaOnline.com - 2020 / 2023 - License CC3