######導入###
キューは、キュー要素を特定の順序で挿入および削除する線形データ構造です。配列とリンク リストを使用して、C でキューを実装できます。どちらのキューの実装にも、それぞれ独自の利点と用途があります。このチュートリアルでは、配列ベースのキューとリンク リスト ベースのキューを区別します。
キューは、要素の挿入と削除に FIFO (先入れ先出し) 原則を使用する一連の要素です。コンピューター サイエンスのキューは現実世界のキューと似ており、最初にキューに入った人が最初に削除されます。
キューには 2 つのポイントがあります -
キューは 2 つの方法で実装できます -
配列ベースのキュー
リストベースのキュー
リストベースのキューまたはリンクリストベースのキューでは、キューの実装にリンクリストが使用されます。各キュー ノードは 2 つの部分で構成されます。1 つの部分はデータの保存に使用され、もう 1 つの部分はリンク部分またはメモリ部分です。
号 |
配列ベースのキュー |
リンクされたリストに基づくキュー |
| 1|
---|---|---|---|---|
実装と運用が簡単です。 |
実装するのは簡単ではありません。 |
| 2
| 検索プロセス|
これは、簡単かつ迅速に検索するのに役立ちます。 |
速度が遅く、検索操作が困難です。 |
| 3
| キューサイズ|
初期化中にキューのサイズを定義します。 |
キューを初期化するときにキューのサイズを定義する必要はありません。 |
| 4
| 挿入および削除操作|
データをキューの先頭に挿入するのは困難ですが、キューの最後にデータを挿入するのは簡単です。 |
これにより、キューの両端に簡単なデータ挿入が行われます。 |
| 5
| データへのアクセス|
ランダム データ アクセス。 |
キュー要素への順次アクセスを提供します。 |
| 6
| キューサイズの調整|
キュー サイズの変更は困難です。 |
キューのサイズを調整するのは簡単です。 |
######7###### ######メモリ使用量###### | メモリ消費量が少なくなります。
| より多くのメモリを消費します。 |
| 8
######アドバンテージ###### |
より速く、より簡単に実装できます。 |
メモリ消費量が少なくなります。 |
|
|
| キュー要素の挿入と削除は簡単です。
|
||
9 |
欠点 |
|
|
キューのサイズが固定されており、キューのサイズを変更する必要がない場合は、配列を使用してキューを実装できます。配列ベースのキューは、検索が高速でメモリ消費量が少ない場合にも役立ちます。
リンク リスト ベースのキュー実装は、キュー サイズが動的で、キュー要素が複数回挿入および削除される場合に便利です。メモリ消費量は多くなりますが、大規模なアプリケーションに適しています
###結論は###配列ベースのキューでは使用するメモリは少なくなりますが、バックエンドに要素を挿入した後、最初の要素の前に未使用のメモリが残るため、大量のメモリを浪費します。
以上がアレイキューとリンクリストキューの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。