解题思路:我们可以使用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二级辅导-计负均正 (C语言代码)浏览:658 |
C二级辅导-进制转换 (C语言代码)浏览:615 |
C语言训练-素数问题 (C语言代码)浏览:1660 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:541 |
C语言程序设计教程(第三版)课后习题5.7 (Java代码)浏览:889 |
C语言训练-自由落体问题 (C语言代码)浏览:617 |
IP判断 (C语言描述,蓝桥杯)浏览:1095 |
1908题解浏览:640 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:489 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:562 |