c++ STL 优先队列(堆)priority_queue

时间:2022-06-05 17:40:18

priority_queue的接口可以很容易的搜到,这里不再赘述。

见如下定义,cmp函数中,a<b,定义了一个最大堆。若是a>b,则定义了一个最小堆。

c++ STL 优先队列(堆)priority_queuec++ STL 优先队列(堆)priority_queueView Code
1 struct cmp
2 {
3     bool operator()(const Node &a,const Node &b)
4     {
5         return a.ubound<b.ubound;
6     }
7 };
8 
9 priority_queue<Node,vector<Node>,cmp> activeNodes;

至于为什么函数放在struct中,,我也不是很清楚。网上的使用大都是这样的,经过个人的实验,这样也没错。