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 }