码迷,mamicode.com
首页 > 其他好文 > 详细

计数排序

时间:2014-06-02 16:29:24      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:c   class   blog   code   java   a   

计数排序是基于非比较的一种排序,效率高,但是需要额外的内存空间,适用于 数量比比较小,而且对元素最大值也有限制。

代码流程如下:假设原数组名称为a

1.计算出数组当中最大的值,比如maxv

2.申请一个用于计数的数组c,数组大小为maxv

3.统计各个元素出现的个数c[a[i]]++

4.使用c[i]=c[i-1]+c[i]统计出小于等于i的元素个数。

5.申请一个记录结果的数组b,使用b[c[a[i]]]记录排序结果,c[a[i]]--

排序的时间复杂度在maxv*k因此非常快,但是这是以牺牲存储空间为代价的。

具体的java代码如下:

 

计数排序,布布扣,bubuko.com

计数排序

标签:c   class   blog   code   java   a   

原文地址:http://www.cnblogs.com/jackwuyongxing/p/3764162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!