还是以int为例,先来声明:
//priority_queue <int,vector<int>,less<int> >q;
//priority_queue <int,vector<int>,greater<int> >q;
程序:
#include<cstdio>
#include<queue>
using namespace std;
priority_queue <int,vector<int>,less<int> >p;
priority_queue <int,vector<int>,greater<int> >q;
int a[5]={10,12,14,6,8};
int main()
{
int i;
for(i=0;i<5;i++)
p.push(a[i]),q.push(a[i]);
printf("less<int>:");
while(!p.empty())
printf("%d ",p.top()),p.pop();
printf("\ngreater<int>:");
while(!q.empty())
printf("%d ",q.top()),q.pop();
}
结果:

参考博客:https://blog.youkuaiyun.com/c20182030/article/details/70757660?locationNum=5&fps=1
这个博客写的更详细,更优秀。
本文通过一个C++程序示例介绍了如何使用优先队列(priority_queue)存储整数,并展示了如何利用less<int>和greater<int>实现最大堆和最小堆。通过具体的代码实现了整数数组的输入和输出。
500

被折叠的 条评论
为什么被折叠?



