2017-04-18 224 views
-2

當我們想要一個最小優先級隊列時,我們聲明Compare類別爲std:greater。這是類似return obj1 > obj2比較優先級隊列的類別

任何人都可以詳細說明如何優先級隊列使用它?將它應用於插入?或在pop()之後將其用於「heapify」。

我們知道在插入時,新元素會盡可能地浮起來。所以如果插入使用更大,那麼obj1將是父母?和obj2會是新的元素本身?

+2

你所有的問題,答案是肯定的。 –

+0

我不知道標準是否規定了排序機制(我懷疑是不是,雖然它可能暗示它),但它確實指定了一些複雜性。 ['std :: priority_queue :: push'](http://en.cppreference.com/w/cpp/container/priority_queue/push), ['std :: priority_queue :: emplace'](http:// en.cppreference.com/w/cpp/container/priority_queue/emplace)和['std :: priority_queue :: pop'](http://en.cppreference.com/w/cpp/container/priority_queue/pop)是所有這些都保證在最壞的情況下進行對數數量的比較,再加上底層容器上匹配操作的複雜性。 –

回答