头文件:
#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;
本文介绍了C++中优先队列的基本用法,包括如何定义不同优先级的整数队列,以及如何通过重载比较运算符来自定义结构体的优先级。适用于初学者快速掌握优先队列的使用。
1万+

被折叠的 条评论
为什么被折叠?



