队列:先输入先输出
优先队列使用方法:
头文件:
*******************
#include<queue>
using namespace std;
***********************
声明方法:
1.普通方法:priority_queue<int>q;//下划线不可漏,默认从大到小输出队
2.结构体声明方式:
struct node
{
int x,y;
frinend bool operator < (node a,node b)// < ,此符号固定,若想要改变输出顺序,可改函数内部符号与内容
{
return a.x>b.x;//按x的大小,从小到大输出队
}
}vt;
priority_queue<node>q;
自定义优先级:
priority_queue<int,vector<int>,greater<int> >q;//vector为容器,按从小到大顺序输出队
priority_queue<int,vector<int>,less<int> >q;//按从大到小顺序输出队
基本操作:
push(x) 将x压入队列的末端
empty() 如果队列为空返回真
pop() 删除对顶元素
size() 返回优先队列中拥有的元素个数