3. 桶排序
桶排序的思想是若待排序的记录的关键字在一个明显有限范围内(整型)时,可设计有限个有序桶,每个桶装入一个值(当然也可以装入若干个值),顺序输出各桶的值,将得到有序的序列。
1 #include<iostream>
2 using namespace std;
3 int a[100001];
4 int b[100001];
5 int maxn=-1;
6 int main()
7 {
8 int n;
9 cin>>n;
10 for(int i=1;i<=n;i++)
11 {
12 cin>>a[i];
13 a[i]=a[i]+5000;
14 b[a[i]]++;
15 if(a[i]>maxn)
16 maxn=a[i];
17 }
18 for(int i=0;i<=maxn;i++)
19 {
20 if(b[i]!=0)
21 {
22 for(int j=1;j<=b[i];j++)
23 {
24 cout<<i-5000<<" ";
25 }
26 }
27 }
28 return 0;
29 }