计数排序C语言实现
来源:互联网 发布:卓智网络是国企 编辑:程序博客网 时间:2024/05/16 13:01
计数排序是稳定排序,而且是线性时间内的排序算法,时间复杂度是O(n + k)其中k是待排序数组的范围。计数排序不是原址排序,空间复杂度是O(n + k)
//k是指A中的数组范围是0~k 包括0和kvoid count_sort(int A[], int B[], int n, int k){ int *C = (int *)malloc(sizeof(int) * (k + 1)); int i; for(i = 0; i <= k; i++) { C[i] = 0; } for(i = 0; i < n; i++) { C[A[i]]++; } for(i = 1; i <= k; i++) { C[i] = C[i] + C[i - 1]; }//注意要从后面往后面数,需要保证稳定性 for(i = n - 1; i >= 0; i--) { B[C[A[i]] - 1] = A[i]; C[A[i]]--; }}
0 0
- 计数排序C语言实现
- 计数排序-C语言实现
- 计数排序算法(C语言实现)
- 算法导论C语言实现: 计数排序
- 计数排序的C语言实现
- 计数排序及C语言实现
- 计数排序C语言
- 计数排序C实现
- 计数排序C语言代码
- 计数排序c/c++实现
- C数据结构---计数排序实现
- 排序算法c语言描述---计数排序
- 算法导论-计数排序-C语言
- 计数排序算法实现(C版)
- 计数排序C++实现
- 算法导论计数排序实现(C++)
- C语言二叉排序树单词计数程序实现
- C语言实现排序
- CodeForces - 200DProgramming Language纯模拟
- android Graphics(二):路径及文字,带删除线的文字
- 79. Word Search
- Spring + iBATIS完整示例
- 设置单个项目的jdk版本
- 计数排序C语言实现
- java.lang.NoClassDefFoundError: Lorg/sonatype/aether/RepositorySystem
- UISegmentControl
- spwuezjxij
- 如何初始化二维数组
- Android应用架构
- Linux小知识
- 并查集实例详解
- epoll使用详解(精髓)