2015-03-02 62 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作为比较函数对象。