hdu 2020

时间:2023-03-08 17:58:17

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2020

思路:优先队列水过priority_queue

 #include <cstdio>
#include <iostream>
#include<algorithm>
#include<math.h>
#include <string.h>
#include<queue>
using namespace std; class T
{
public:
int x;
T(int a):x(a)
{ } }; bool operator < (const T &t1,const T &t2)
{
return fabs(t1.x)<fabs(t2.x); //常规降序
} int main()
{
int num,n;
while(scanf("%d",&num),num)
{
priority_queue<T> q; for(int i=;i<num;i++)
{
scanf("%d",&n);
q.push(T(n));
}
int len=q.size();
for(int i=;i<len-;i++)
{
T t=q.top();q.pop();
cout<<t.x<<" ";
}
T a=q.top();
cout<<a.x<<endl;
}
return ; }