一、优先队列与队列具有类似的特性,即只能从队尾插入元素,从队首删除元素。此外,优先队列中的最大元素总是位于队首,所以在进行出队时,总是将当前队列中的最大元素出队二、优先队列的使用1、首先要添加头文件#include
2、优先队列的声明priority_queue<type,container,function>其中第一个参数不可以省略,后两个参数可以省略。type:数据类型container:实现优先队列的底层容器,要求必须是以数组形式实现的容器function:元素之间的比较方式priority_queue q;//定义一个优先队列,按照元素从大到小的顺序出队
//等同于
priority_queue<int,vector, less >q;
//另外一种按元素从小到大顺序出队
priority_queue<int,vector, greater >q;
3、基本操作q.top() //访问队首元素
q.empty() //判断队列是否为空
q.push() //插入元素到队尾
q.pop() //出队队首元素
q.size() //返回队列中元素的个数
示例代码priority_queue q;
//将元素入队
q.push(1);
q.push(2);
q.push(3);
while(!q.empty()){
cout<<q.top()<<endl;//输出队首元素
q.pop();//出队
}
优先队列的用法
最新推荐文章于 2025-02-27 21:59:06 发布