在優先級隊列中,根據優先級插入並從隊列中刪除一個元素,並且因此在爲任何優先級隊列寫入元素的插入和刪除代碼的同時,插入和刪除根據元素的優先級來完成。優先隊列是否真的排隊?
假設你有一個隊列元素1,5,6,元素的優先級是元素本身的值,現在需要插入一個優先級爲3的元素;那麼元素被插入隊列中的第二個位置,給出新的隊列1,3,5,6。
但是一個隊列被定義爲其中的元件可以在端被插入和,但不是在中間在開始時被刪除的數據結構,但在上述情況下,元件被插入在所述第二位置(也就是在隊列的中間)。所以如果優先級隊列不服從隊列的定義,那麼優先級隊列是否真的隊列?
請解釋一下。
那麼爲什麼他們被稱爲優先**隊列**? –
因爲它們是普通(非ADT)意義上的「隊列」:它們是成員到達的地方,等待輪到他們,然後離開。 「隊列」ADT是一個「隊列」,其中等待最長的成員接下來被選中。 「優先級隊列」ADT是一個「隊列」,其中優先級最高的成員被選中。 – Sneftel
+1 **我不能再問他們阻止我的問題了。我太可悲了。你們是否投票? :(** –