解题思路:我们可以使用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语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:519 |
1025题解浏览:732 |
星期判断机 (C语言代码)浏览:859 |
【偶数求和】 (C语言代码)浏览:430 |
勾股数 (C语言代码)浏览:799 |
printf基础练习 (C语言代码)浏览:1793 |
【计算球体积】 (C语言代码)浏览:1548 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:417 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:695 |
三角形 (C语言代码)浏览:653 |