线性时间排序-counting_sort
2015-06-06 21:33
344 查看
int count_sort(int *A, int n, int k){ int B ; int C[k+1]; for(int i = 0; i < k+1; i++) //initialize C[i]: A的每个值有0个 C[i] = 0; for(int i = 0; i < n; i++){ //将A的每个值的出现频率存储在C[i]中,i为A的值 int j = A[i]; C[j] = C[j]+1; } for(int i = 1; i < k+1; i++) //C[i]中为A中<=i的值的个数 C[i] = C[i] + C[i-1]; for(int i = 0; i < n; i++){ B[C[A[i]]-1] = A[i]; //B[<=i的值的个数] = i C[A[i]] = C[A[i]]-1; // C[i]中<=i的值得个数减1 } for(int i = 0; i < n; i++) cout<<"B["<<i<<"] = "<<B[i]<<endl; return 0; } int test(void){ int A[] = {4,1,3,2,16,9,10,14,8,7}; int n = sizeof(A)/ sizeof(int); count_sort(A, n, 16); return 0; }
相关文章推荐
- eclipse 最近出错误Unhandled event loop exception Item not added
- SDUT 3133 数据结构实验之栈三:后缀式求值
- bzoj hash+map+set
- Java for LeetCode 189 Rotate Array
- hdu 2147 kiki's game
- android SD卡使用方法
- Swift编程语言学习3.1排列
- Struts-config.xml配置详解
- wince6.0 中出现缺少aygshell.h
- 索引
- Merge Two Sorted Lists
- O2O平台思考之可持续闭环:在这盘热棋中你打算走多远
- 输入网址到出现页面的过程
- 容器适配器之priority_queue
- PB9.0实现下拉数据列表的实现
- JPA & Hibernate 注解
- 这就是搜索引擎--读书笔记七--倒排列表压缩算法
- NDK 使用流程
- chapter11test2
- 远程问题解决方案(连接到** 的凭据无法工作,请输入新凭据)