201503-2 数字排序
题目
思路
这里需要用一个结构体来保存数字及其出现的次数,排序的时候下标会乱。
AC代码
#include<cstdio>
#include<algorithm>
using namespace std;
struct node{
int num,time;
friend bool operator < (node x,node y){
if(x.time!=y.time) return x.time>y.time;
else return x.num<y.num;
}
}a[1005];
int main(){
int n,temp;
for(int i=0;i<1005;i++){
a[i].num=i;
a[i].time=0;
}
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&temp);
a[temp].time++;
}
sort(a,a+1005);
for(int i=0;i<1005&&a[i].time>0;i++){
printf("%d %d\n",a[i].num,a[i].time);
}
return 0;
}