logo

スタックとキュー

まず、見ていきます スタックとは何ですか そして キューとは何ですか 個別に説明してから、スタックとキューの違いについて説明します。

スタックとは何ですか?

データ構造。配列の場合、ランダム アクセスが可能です。つまり、配列のどの要素にもいつでもアクセスできますが、スタックではシーケンシャル アクセスのみが可能です。挿入・削除ルールに従ったコンテナです。それは原則に従っています LIFO (後入れ先出し) 挿入と削除は、として知られる片側から行われます。 。スタックでは、同様のデータ型の要素を挿入できます。つまり、異なるデータ型の要素を同じスタックに挿入することはできません。 2 つの操作は LIFO で実行されます。つまり、 押す そして ポップ 手術。

スタックとキュー

スタック上で実行できる操作は次のとおりです。

    プッシュ(x):要素をスタックの先頭に挿入する操作です。の中に 押す 関数を使用するには、スタックに挿入したい要素を渡す必要があります。ポップ():スタックの先頭から要素を削除する操作です。の中に ポップ() 関数では、引数を渡す必要はありません。ピーク()/トップ():この関数は、スタック内で使用可能な最上位の要素の値を返します。 Pop() と同様に、最上位の要素の値を返しますが、その要素をスタックから削除しません。isEmpty():スタックが空の場合、この関数は true 値を返し、それ以外の場合は false 値を返します。一杯():スタックがいっぱいの場合、この関数は true 値を返し、それ以外の場合は false 値を返します。

スタックでは、 最後に挿入された要素を追跡するために使用されるポインターです。スタックを実装するには、スタックのサイズを知る必要があります。スタックのサイズを取得するにはメモリを割り当てる必要があります。スタックを実装するには 2 つの方法があります。

    静的:スタックの静的実装は、配列を使用して実行できます。動的:スタックの動的な実装は、リンク リストを使用して実行できます。

キューとは何ですか?

スタックとキューの類似点。

スタックとキューには次の 2 つの類似点があります。

    線形データ構造
    スタックとキューは両方とも線形データ構造です。つまり、要素は順番に格納され、1 回の実行でアクセスされます。柔軟なサイズ
    スタックとキューは両方ともサイズが柔軟であるため、実行時の要件に応じて拡大または縮小できます。

スタックとキューの違い

スタックとキュー

スタックとキューの違いは次のとおりです。

比較の根拠 スタック
原理 これは LIFO (Last In-First Out) の原則に従っており、最後に挿入された要素が最初に削除されることを意味します。 これは原則 FIFO (先入れ先出し) に従います。これは、最初に追加された要素がリストから削除される最初の要素であることを意味します。
構造 挿入と削除の両方が行われる端は 1 つだけあり、その端はトップとして知られています。 これには 2 つの端、つまり前端と後端があります。フロントエンドは削除に使用され、リアエンドは挿入に使用されます。
使用されるポインターの数 これには、トップ ポインターと呼ばれるポインターが 1 つだけ含まれています。最上位ポインタは、最後に挿入された要素、またはスタックの最上位要素のアドレスを保持します。 これには、前後の 2 つのポインターが含まれています。フロント ポインタは最初の要素のアドレスを保持し、リア ポインタはキュー内の最後の要素のアドレスを保持します。
実行された操作 プッシュとポップという 2 つの操作を実行します。プッシュ操作はリストに要素を挿入し、ポップ操作はリストから要素を削除します。 主に、エンキューとデキューという 2 つの操作を実行します。エンキュー操作はキューへの要素の挿入を実行し、デキュー操作はキューからの要素の削除を実行します。
空の状態の検査 top==-1 の場合、スタックが空であることを意味します。 フロント== -1 またはフロント = リア+1 の場合、キューが空であることを意味します。
全身状態の検査 top== max-1 の場合、この状態はスタックがいっぱいであることを意味します。 Rear==max-1 の場合、この状態はスタックがいっぱいであることを意味します。
バリエーション 種類はありません。 優先キュー、循環キュー、両端キューの 3 種類があります。
実装 より単純な実装があります。 スタックよりも実装が比較的複雑です。
視覚化 スタックは垂直方向のコレクションとして視覚化されます。 キューは水平方向のコレクションとして視覚化されます。