ホームページ  >  記事  >  バックエンド開発  >  データ構造: スタックとキューの違い

データ構造: スタックとキューの違い

藏色散人
藏色散人オリジナル
2019-03-02 14:49:564496ブラウズ

データ構造: スタックとキューの違い

スタック:

スタックは、要素を先頭からのみ挿入できる線形データ構造です。リストを削除してください。スタックは後入れ先出しの原則に従います。つまり、最後に挿入された要素が最初に出力されます。スタックへの要素の挿入はプッシュ操作と呼ばれ、スタックからの要素の削除はポップ操作と呼ばれます。スタックでは、top と呼ばれるポインターを使用して、リストに存在する最後の要素を常に追跡します。

スタックの図は次のとおりです。

データ構造: スタックとキューの違い

キュー:

キューは線形データです。この構造では、要素は「after」と呼ばれるリストの一方の側からのみ挿入でき、要素は「before」と呼ばれるリストのもう一方の側からのみ削除できます。キューのデータ構造は FIFO (先入れ先出し) の原則に従います。つまり、リストに挿入される最初の要素がリストから削除される最初の要素です。キューへの要素の挿入はエンキュー操作と呼ばれ、要素の削除はデキュー操作と呼ばれます。

キューでは、常に 2 つのポインターを維持します。1 つのポインターは、最初のポインターに挿入された要素を指し、引き続きリスト内の前のポインターによって表されます。もう 1 つのポインターは、リストに挿入された要素を指します。 last pointer 要素は後でポインタによって表されます。

キューの図は次のとおりです。

データ構造: スタックとキューの違い

スタックとキューの違い

#挿入操作をプッシュ操作と呼びます。 挿入操作はエンキュー操作と呼ばれます。 削除操作はポップ操作と呼ばれます。 削除操作はデキュー操作と呼ばれます。 スタックでは、top と呼ばれるリストにアクセスするポインターのみを維持します。このポインターは常にリストの最後の要素を指します。 キューでは、リストにアクセスするための 2 つのポインターを維持します。フロント ポインタは常に、リストに挿入されてまだ存在する最初の要素を指し、バック ポインタは常に最後に挿入された要素を指します。
Stack Queue
スタックは LIFO 原則に基づいています。つまり、最後に挿入された要素がリストの最初の要素になります。 キューは FIFO 原理に基づいています。つまり、最初に挿入された要素がリストから最初に取り出される要素となります。
スタック内の挿入と削除は、top という名前のリストの一方の端でのみ発生します。 キューへの挿入と削除は、リストの両端から行われます。挿入はリストの最後で行われ、削除はリストの先頭で行われます。


以上がデータ構造: スタックとキューの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。