头文件:
#include<queue>
1.整数越大优先级越高
priority_queue<int>pq;
2.整数越小优先级越高
priority_queue<int,vector<int>,greater<int> >pq;
3.结构体自定义优先级
原理:优先队列标准库中默认使用 “<” 操作符定义元素之间的优先级,所以自定义优先级时要重载 “<” 操作符。
struct node{
int x,y;
friend bool operator<(node a,node b){
return a.x<b.x; //结构体中x值小的优先
}
};
struct node{
int x,y;
friend bool operator<(node a,node b){
return a.x>b.x; //结构体中x值大的优先
}
};
priority_queue<node>pq;