简单计数排序

Posted jianqiao123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单计数排序相关的知识,希望对你有一定的参考价值。

 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 }

技术图片

以上是关于简单计数排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法——计数排序

计数排序的简单理解

关于计数排列(模板)

多图计数排序竟如此简单!

执行计数、排序/映射大字典

简单计数排序