计数排序的基本思想为:对每一个输入的元素x,确定出小于x的元素的个数。有了这一信息,那么就可以把x直接放到相应的位置上。
特点:
1 需要临时的存储空间,如果排序数据范围特别大时,空间开销很大。
2 适合于排序0 - 100以内的数据。
【C/C++|【算法导论】c++实现计数排序】3 排序的时间复杂度为O(n)。
#include
#include const int size = 100;
int * array_list;
int * array_list_a;
void print_list(int * ,int );
void count_sort(int * ,int * ,int );
int main(int argc,char * argv[])
{
array_list = new int [sizeof(int)*size];
array_list_a = new int [sizeof(int)*size];
srand(0);
for(int i=0;
i=0;
j--)
{
array_list_b[c[array_list_a[j]] - 1] = array_list_a[j];
c[array_list_a[j]] -= 1;
}
delete c;
}
void print_list(int * array_list,int length)
{
for(int i=0;
i
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- c/c++|有感 Visual Studio 2015 RTM 简介 - 八年后回归 Dot Net,终于迎来了 Mvc 时代,盼走了 Web 窗体时代...
- C/C++|C/C++ basis 02
- Qt实战|Qt+OpenCV联合开发(二十一)--图像翻转与旋转
- Qt实战|Qt+OpenCV联合开发(十四)--图像感兴趣区域(ROI)的提取
- Qt实战|Qt+OpenCV联合开发(十三)--通道分离与合并
- opencv|Qt+OpenCV联合开发(十六)--图像几何形状绘制
- Qt实战|Qt+OpenCV联合开发(十七)--随机数与随机颜色
- SNAT的MASQUERADE地址选择与端口选择
- IPTABLES的连接跟踪与NAT分析
- IPVS分析