2015-03-02 60 views
-6

我的程序工作,其中優先級隊列延伸的隊列:如何刪除與最低優先級的元素在C++

class PQueue: public Queue; 

PQueue列表使用隊列的排隊方法排隊,但我創建了一個PQueue的出列方法可以刪除最低優先級的項目。不知怎的,我無法實現它。

如果你有一個pQueue類似於head [2 8 5 9 0 3 9 7] tail,這個列表將變成2 8 5 9 3 9 7,這個0被移除並存儲在一個返回變量中。請幫助

+4

代碼說明你試過了什麼? – TriHard8 2015-03-02 23:49:07

+0

*「我如何刪除C++中具有最低優先級的元素」* - 您通常使用'pop'做到這一點。例如,參見['priority_queue'](http://www.cplusplus.com/reference/queue/priority_queue/)。你正在使用的'Queue'類的文檔在哪裏? – jww 2015-03-03 00:02:45

回答

2

爲此使用std::priority_queue。如果要首先彈出最小元素,請使用std::greater而不是std::less作爲比較函數對象。