オーディオ スタックとは何ですか? -techopediaからの定義

スタックとは何ですか? -techopediaからの定義

目次:

Anonim

定義-Stackとはどういう意味ですか?

スタックは、一連の同種の要素で構成される概念的な構造であり、後入れ先出し(LIFO)の原則に基づいています。 一般に使用される抽象データ型であり、2つの主要な操作、つまりプッシュとポップがあります。 プッシュとポップは、スタックに最後に追加されたアイテムである一番上の要素で実行されます。 プッシュ操作はスタックに要素を追加し、ポップ操作は最上位から要素を削除します。 スタックの概念は、コンピューターのプログラミングおよびメモリ構成で使用されます。

TechopediaはStackについて説明します

スタックは、線形データ構造形式のオブジェクトまたは要素のシーケンスを表します。 スタックは境界のある下部で構成され、すべての操作は上部で実行されます。 プッシュ操作によってスタックに要素が追加されるたびに、トップ値が1ずつ増加し、スタックから要素がポップアウトされると、トップ値が1ずつ減少します。 スタックの最上位へのポインターは、スタックポインターとも呼ばれます。

スタックのサイズは固定されている場合と、サイズの変更が許可されている動的な実装を持つ場合があります。 制限された容量スタックの場合、既に満杯のスタックに要素を追加しようとすると、スタックオーバーフロー例外が発生します。 同様に、ポップ操作がすでに空のスタックから要素を削除しようとする状態は、アンダーフローとして知られています。

スタックは、限られた数の操作のみが許可されるため、制限されたデータ構造と見なされます。 プッシュおよびポップ操作に加えて、特定の実装では次のような高度な操作が可能です。

  • ピーク-スタックの一番上のアイテムを表示します。
  • 複製-最上位アイテムの値を変数にコピーし、スタックにプッシュします。
  • 交換-スタック内の最上位の2つのアイテムを交換します。
  • 回転-数値で指定されたとおりにスタックの最上位の要素を移動するか、回転して移動します。

スタックコンセプトのソフトウェア実装は、配列とリンクリストを使用して行われ、変数またはヘッダーポインターを使用してそれぞれ最上位が追跡されます。 多くのプログラミング言語は、スタック実装をサポートするための組み込み機能を提供します。

ハードウェアスタックは、メモリの割り当てと、固定の原点とサイズを使用したアクセスのために実装されます。 スタックレジスタは、スタックポインタの値を格納するために使用されます。

スタックとは何ですか? -techopediaからの定義