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

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

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

View 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中,,我也不是很清楚。网上的使用大都是这样的,经过个人的实验,这样也没错。

你可能感兴趣的:(Queue)