1080-年龄排序
内存限制:234MB 时间限制:2000ms 特判: No
通过数:148 提交数:575 难度:0
题目描述:
JXB经常向HJS炫耀他们家乡那里有多么多么好,但是HJS大牛从来对此不屑一顾,某日,他又在那说:“我们那里的人寿命都很高,甚至还有一个150岁的老人呢!”,这次HJS大牛准备调查一下,于是收集了那里每个人的年龄数据,首先得把它们从小到大排序,这个简单的任务就交给你了!
输入描述:
第一行一个n,表示n个数(n<=6000000) 第二行有n个数,表示该地区每个人的年龄 数据只有一组
输出描述:
按递增序列输出这些年龄
样例输入:
6 2 5 6 9 15 3
样例输出:
2 3 5 6 9 15
不能用sort()会超时的。用别的方法,就是将从0到150建立数组,a[0],a[1].....a[150],然后输入年龄i,对应的a[i]++;最后根据a[i]的次数,输入年龄几次就行.
C++代码:
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int a[151]; int main(){ int n; cin>>n; memset(a,0,sizeof(a)); while(n--){ int i; scanf("%d",&i); a[i]++; } for(int i = 0; i <= 150; i++){ for(int j = 0; j < a[i]; j++) printf("%d ",i); } printf(" "); return 0; }