优先队列(priority_queue)用法总结
程序员文章站
2024-03-18 11:17:34
...
优先队列(priority_queue)
一.头文件#include<queue>
二.优先队列(priority_queue)和队列(queue)的区别
队列是按进入的次序排序,而优先队列则是可以自定义其中数据的优先级,让优先级高的排在队列的前面
三.定义:例如自定义的数据类型
priority_queue<int,vector<int>,great<int> >q //升序队列
priority_queue<int,vector<int>,less<int> >q //降序队列
注:在less<int> 后和 >q之间要有空格,否则会造成表意不明
四.应用
#include<iostream>
#include<queue>
using namespace std;
int main()
{
priority_queue<int>a; //默认是大顶堆,相当于降序队列
priority_queue<int,vector<int>,great<int> >c;
priority_queue<string>b;
for(int i=0;i<5;i++)
{
a.push(i);
c.push(i);
}
while(!a.empty())
{
cout<<c.top()<<‘ ’;
c.pop();
}
cout<<endl;
b.push("abc");
b.push("abcd");
b.push("cbd");
while(!b.empty())
{
cout<<b.top()<<' ';
b.pop();
}
cout<<endl;
return 0;
}
输出:
4 3 2 1 0
0 1 2 3 4
cbd abcd abc
上一篇: Java实现阻塞队列
下一篇: 数组实现循环队列
推荐阅读
-
java队列(Queue)用法总结
-
优先队列(priority_queue)用法总结
-
priority_queue(优先队列)用法总结
-
c++标准库 std::priority_queue 优先队列的使用 push() pop() top()
-
STL中优先队列(priority_queue)的相关操作
-
解析Java中PriorityQueue优先级队列结构的源码及用法
-
解析Java中PriorityQueue优先级队列结构的源码及用法
-
堆排序和优先级队列priority_queue
-
HDU 4006 The kth greater number【优先级队列priority_queue】
-
【C++】优先级队列priority_queue