优先队列容器和队列一样,只能从队尾插入元素,从队首删除元素。
为什么能叫优先队列呢??因为它有一个特性,就是队列中每个元素都有一个优先级,所以出队时,并不是完全一样的遵循先进先出的原则来进行的,而是将队列中优先级大的出队。这点有点儿类似于给队列里元素先进行一个排序,再按照顺序出队。元素的比较规则默认按照元素值由大到小排序,
1.头文件:
#include<queue>
2.声明方式
priority_queue<int> a; //通过操作,按照元素从大到小的顺序出队
priority_queue<int,vector<int>,greater<int> > b; //通过操作,按照元素从小到大的顺序出队
priority_queue<int,vector<int>,less<int> >c; //从大到小
另外还可以自定义排序方法,先不写
3.常用操作
原文:https://www.cnblogs.com/fate-/p/12290429.html