1.基本操作:
empty() 如果队列为空,则返回真
pop() 删除对顶元素,删除第一个元素
push() 加入一个元素
size() 返回优先队列中拥有的元素个数
top() 返回优先队列对顶元素,返回优先队列中有最高优先级的元素
在默认的优先队列中,优先级高的先出队。在默认的int型中先出队的为较大的数。
头文件:
#include
2.priority_queue<vector, less > pq1; // 使用递增less函数对象排序
priority_queue<deque, greater > pq2; // 使用递减greater函
priority_queue q; //通过操作,按照元素从大到小的顺序出队
priority_queue<int,vector, greater > q; //通过操作,按照元素从小到大的顺序出数对象排序
3、结构体声明方式:
struct node {
int x, y;
friend bool operator < (node a, node b)
{
return a.x > b.x;
}
};
priority_queueq; //定义方法
4.自定义优先级:
struct cmp {
operator bool ()(int x, int y)
{
return x > y;
}
};
priority_queue<int, vector, cmp> q;