</pre><pre name="code" class="cpp">/*
在头文件 #include<queue> 中 对于基本数据类型 还涉及头文件 #include<vector>
优先队列简单来说就是数据存入一个队列中,优先将队列中最大或最小的数放到队首,也就是下一次取的数是队列中最大或最小的。
*/
#include<queue>
#include<vector>
#include<iostream>
using namespace std;
//#include<greater>
using namespace std;
struct A
{
int x,y;
};
//运算符重载
bool operator < (A a1,A a2)
{
if(a1.x == a2.x) return a1.y>a2.y;
return a1.x>a2.x; //先出小
}
int main()
{
priority_queue<int> que; //优先从大到小(默认状态)
//for(int i=0;i<10;i++)
que.push(3);
que.push(1);
que.push(8);
que.push(13);
que.push(-9);
for(int i=0;i<5;i++)
{
cout<<que.top()<<endl;
que.pop();
}
cout<<endl;
priority_queue< int,vector<int>,greater<int> > qq; //优先从小到大
qq.push(3);
qq.push(1);
qq.push(8);
qq.push(13);
qq.push(-9);
C++优先队列的调用
最新推荐文章于 2023-03-21 19:38:52 发布