桶排序

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 }

 

posted @ 2017-03-19 21:28  自为风月马前卒  阅读(197)  评论(0编辑  收藏  举报

Contact with me