如何在C ++中删除具有最低优先级的元素

时间:2015-03-02 23:47:26

标签: c++ priority-queue

我正在开发一个优先级队列扩展队列的程序:

class PQueue: public Queue;

我的PQueue列表使用Queue的enqueue方法排队,但我为PQueue创建了一个dequeue方法,以删除优先级最低的项目。不知怎的,我无法实现它。

如果你有像头[2 8 5 9 0 3 9 7]尾部的pQueue,则列表将变为2 8 5 9 3 9 7,将0移除并存储在变量中以便返回。请帮忙

1 个答案:

答案 0 :(得分:2)

使用std::priority_queue。如果要首先弹出最小元素,请使用std::greater而不是std::less作为比较函数对象。