计数排序
2015-08-02 11:07
274 查看
计数排序假设n个输入元素中的每一个都是介于0到k之间的整数。其基本思想就是对每个输入元素x,确定小于x的元素个数。有了这一信息,就可以把x直接放到它在最终输出数组中的位置上。
#include<iostream> void countsort(int *A,int *B,int n,int k) { //输入检查 int *C = new int[k];//记录小于输入x的个数 for (int i = 0; i < k;++i) { C[i] = 0; } for (int i = 0; i < n;++i) { C[A[i]] = C[A[i]] + 1; } for (int i = 1; i < k;++i) { C[i] = C[i - 1] + C[i]; } for (int i = n - 1; i >= 0;--i) { B[C[A[i]]-1] = A[i]; --C[A[i]]; } delete[] C; } int main() { int a[] = { 8, 4, 5, 6, 7 }; int *B = new int[5]; memset(B, 0, sizeof(int) * 5); countsort(a, B, 5, 9); for (int i = 0; i < 5;++i) { std::cout << B[i] << ' '; } delete B; }
相关文章推荐
- HDU 5336 XYZ and Drops(模拟十滴水游戏 BFS啊)
- iOS Quartz2D - 裁剪图片为带边框的圆形图片
- 早期(编译期)优化
- android 中 View的构造函数
- win7应用程序出现乱码 解决方法
- 图层损坏 E/ArcGIS﹕ The map or layer has been destroyed or recycled. 资源未释放
- 第六课,T语言表达式(版本5.0)
- java学习笔记之-构造函数
- 图层损坏 E/ArcGIS﹕ The map or layer has been destroyed or recycled. 资源未释放
- Python基础教程笔记——第4章:字典
- Java之克隆
- 59 - 对称的二叉树
- 指针函数与函数指针的区别
- n!素因子分解
- zoj3203
- 【POJ3260】【The Fewest Coins】
- 朴素贝叶斯分类算法(Naive Bayesian classification)
- 黑马程序员——泛型
- angularJS---自定义过滤器
- angularJS---自定义过滤器