计数排序
来源:互联网 发布:java poin型变量 编辑:程序博客网 时间:2024/06/01 09:36
计数排序假设n个输入元素中的每一个都是介于0到k之间的整数,此处k为某个整数。
public static int[] Sort1(int [] A,int k){//k表示数组A中的最大值 int [] C=new int[k+1];//临时数组C int [] B=new int[A.length];//B存放结果 //首先是通过一个数组C[i]计算等于i的元素个数, for(int i=0;i<A.length;i++){ C[A[i]]++; } //接着计算小于或者等于i的元素个数,数组C的下标从1开始 for(int i=1;i<=k;i++){ C[i]=C[i]+C[i-1]; } //从后向前遍历,保证稳定性 for(int i=A.length-1;i>=0;i--){ //C[A[i]]表示A[i]在数组B中的位置,因为B[i]从0开始,不是从1开始,所以要减1 B[C[A[i]]-1]=A[i]; C[A[i]]--; } return B; }
参考
参考
参考
阅读全文
0 0
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- C++中单个#和两个##的含义
- Hibernate注解实现单表递归树形结构
- 解决Hash冲突四种方法
- [LeetCode]4Sum
- Python :抽顺子
- 计数排序
- servlet3.0新特性
- C/C++中va_list,va_start,va_arg,va_end等可变参数宏的使用
- javascript 性能优化 -1
- 使用gdb调试多进程与多线程程序
- Python :圆圈中最后剩下的数
- [java]反射1
- Gerrit打包安装,只要下载一个文件就可以了
- 矩形覆盖