优先队列:priority_queue
优先队列属于队列的一种,需要添加头文件 #include<queue>
优先队列采用堆的形式存储。堆是二叉树的结构,分为最大堆和最小堆
最大堆:对于二叉树中的任意子树,满足子树的根节点大于叶子节点
最小堆:对于二叉树中的任意子树,满足子树的根节点小于叶子节点
格式讲解
//Type :数据类型
//Cantainer:保存数据的容器 可以为vector 和list
//Function 为元素比较方式,greater:最小堆 less:最大堆。不写时默认为最大堆
priority_queue<Type, Container, Functional>
//样例
priority_queue<int ,vector<int>,greater<int>> a;
常用方法
a.pop();//出队
a.top();//访问对头元素
a.push();//添加元素
a.size();//队列空间
a.emtpy();//判断队列是否为空