web-dev-qa-db-ja.com

「エンキュー」と「デキュー」の違い

誰かが主な違いを説明してもらえますか?どの言語のプログラミングでも、これらの機能について明確な知識はありません。

31
Omar

CやC++などのプログラミング言語の基本的なデータ構造には、スタックとキューがあります。

スタックデータ構造は、スタックに挿入または「プッシュ」される最初の要素がスタックから削除または「ポップ」される最後の要素である「先入れ後出し」ポリシー(FILO)に従います。

同様に、キューデータ構造は「先入れ先出し」ポリシーに従います(カウンターに並んでいる通常のキューの場合)。最初の要素がキューにプッシュされるか、「キューに入れられ」、同じキューから削除する必要がある要素は「デキュー」されます。

これは、スタックでのプッシュとポップに非常に似ていますが、エンキューとデキューという用語は、使用中のデータ構造がスタックであるかキューであるかに関する混乱を避けます。

クラスコーダーには、エンキューおよびデキュープロセスを示す簡単なプログラムがあります。参照用に確認できます。

http://classcoders.blogspot.in/2012/01/enque-and-deque-in-c.html

38
Flipsyde

EnqueueおよびDequeueは、キューに対する操作である傾向があります。キューは、実際に聞こえるとおりに動作するデータ構造です。

最新のテイラーSwift=コンサートのチケットを待ち行列に入れている人の列のように、一方の端でアイテムをキューに入れ、もう一方の端でデキューしますひどく)。

両端でキューに入れたり、デキューしたりできるダブルエンドのキューなど、さまざまなキューがありますが、大部分はより単純な形式です。

           +---+---+---+
enqueue -> | 3 | 2 | 1 | -> dequeue
           +---+---+---+

この図は、1、2、3の順番でキューに入れたキューを示しています。

23
paxdiablo

これらは通常、「FIFO」キュー、つまり「先入れ先出し」を説明するときに使用される用語です。これは線のように機能します。あなたは映画を見に行くことにしました。チケットを購入するための長い列があり、チケットを購入するためにキューに入ることを決定します、それは「エンキュー」です。ある時点であなたはラインの前にいて、チケットを購入することができます。その時点でラインを離れる、つまり「デキュー」です。

9
stew

キューは特定の両面データ構造です。一方の側に新しい要素を追加し、もう一方の側から要素を削除できます(片側だけのスタックとは対照的です)。エンキューとは、要素を追加すること、デキューして要素を削除することを意味します。ご覧ください こちら

1

私の意見では、プロセスを説明するために最悪に選ばれたWordの1つは、実生活または類似の何かに関連していないためです。一般的に、「queue」という単語は発音が非常に悪く、英語​​の文字 "q"のように聞こえます。ここで非効率性を参照してください?

enqueue:何かをキューに入れる;キューの末尾に要素を追加します。

dequeueキューから何かを取り出す;キューの先頭から利用可能な最初の要素を削除する

ソース: https://www.thefreedictionary.com

1
user1767754