简单计数排序

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <cstring>
 4 using namespace std;
 5 void num_Count(int a[],int n,int max)
 6 {
 7     int i,j;
 8     int buckets[max];
 9     memset(buckets,0,sizeof(int)*max);
10     for(i=0;i<n;i++) buckets[a[i]]++;
11     for(i=0,j=0;i<max;i++)
12     {
13         while((buckets[i]--)>0)
14         a[j++]=i;
15     }
16 }
17 int main()
18 {
19     int a[]={2,4,6,5,1,8,9,3,9};
20     int ilen=sizeof(a)/sizeof(a[0]);
21     cout<<"before sort:
";
22     for(int i=0;i<ilen;i++) cout<<a[i]<<" ";
23     cout<<endl;
24     num_Count(a,ilen,10);
25     cout<<"after sort:
";
26     for(int i=0;i<ilen;i++) cout<<a[i]<<" ";
27     cout<<endl;
28     return 0;
29 }

天晴了,起飞吧
原文地址:https://www.cnblogs.com/jianqiao123/p/12153338.html