优先队列
优先队列的头文件&&声明
首先,你需要
#include
using namespace std;
这两个头文件。
其次,一个优先队列声明的基本格式是:
priority_queue<结构类型> 队列名;
具体使用可以看:我是博客
比如:
priority_queue i;
priority_queue d;
不过,我们最为常用的是这几种:
**priority_queue q;
node是一个结构体
//结构体里重载了‘<’小于符号
priority_queue <int,vector,greater > q;
//不需要#include头文件
//注意后面两个“>”不要写在一起,“>>”是右移运算符
priority_queue <int,vector,less >q;
优先队列的基本操作
与队列的基本操作如出一辙。
如果想要了解请点击这里,看关于队列的介绍。
以一个名为q的优先队列为例。
q.size();//返回q里元素个数
q.empty();//返回q是否为空,空则返回1,否则返回0
q.push(k);//在q的末尾插入k
q.pop();//删掉q的第一个元素
q.top();//返回q的第一个元素
q.back();//返回q的末尾元素