相关操作:
定义优先队列:priority_queue<int> q
队首:q.top()
队尾:q.back()
入队:q.push()
出队:q.pop()(出来的是队首)
队中元素个数:q.size()
判断队是否为空:q.empty()
结构体默认是从大到小:即priority_queue<int> q;(写全就是priority_queue<int,vector<int>,less<int> >注意最后的两个>要分开写)
若想从小到大排序(即小的数在队首):
priority_queue<int,vector<int>,greater<int> >
结构体:
数据小的浮到队首的情况:(以学生信息为例,年龄小的在队首)
struct student
{
int age;
char name[10];
}d[105];
bool operator < (const student &x,const student &y)
{
return x.age > y.age;//(如果想要数据大的浮到队首则改> 为<)
}
这只是习惯且会用的一种,其他不提;