解题思路:我们可以使用priority_queue<int,vector<int>,greater<int>> a构造一个小根堆
用priority_queue<int> a或者用priority_queue<int,vector<int>,less<int>> a构造一个大根堆
小根堆有点长 也能用priority_queue<int> a构造一个小根堆 取负值就好了
代码:
#include <bits/stdc++.h>
using namespace std;
priority_queue<int> a;
int main(){
int n;cin>>n;
for(int i=1;i<=n;i++){
int x;cin>>x;
a.push(-x);//放入数据
}
for(int i=1;i<=n;i++){
cout<<-a.top()<<" ";//输出队顶
a.pop();//删除队顶
}
return 0;
}
0.0分
1 人评分
震宇大神的杀毒软件 (C语言代码)浏览:1241 |
钟神赛车 (C++代码)浏览:867 |
高精度加法 (C++代码)(大数加法)浏览:934 |
【蟠桃记】 (C语言代码)浏览:651 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:520 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1095 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:529 |
哥德巴赫曾猜测 (C语言代码)浏览:2352 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:550 |
【计算直线的交点数】 (C语言代码)浏览:1453 |