解题思路:我们可以使用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 primer plus 第十二章 12.1小节浏览:377 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:577 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:512 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:585 |
JAM计数法 (C语言代码)浏览:669 |
C二级辅导-阶乘数列 (C语言代码)浏览:660 |
素数的个数 一直是超时浏览:668 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:449 |
蛇行矩阵 (C语言代码)浏览:535 |
简单的a+b (C++代码)浏览:438 |