算法导论计数排序实现 【算法导论计数排序实现】空间换时间,时间复杂度是线性的。
#include
#include void countsort(int a[],int b[],int c[],int k,int length)
{int i=0,j=0;
for(j=0;
j0;
j--)
{
b[c[a[j]]]=a[j];
c[a[j]]=c[a[j]]-1;
}
}int main()
{
int a[]={2,5,3,0,2,3,0,3};
int b[8]={0};
int c[6]={0};
countsort(a,b,c,6,sizeof(a)/sizeof(int));
int i=0;
for(i=0;
i
推荐阅读
- 集合的全排列(Java实现)
- 算法导论学习笔记——2.3.1分治法——习题2-4逆序对数
- 拓展欧几里得算法详解
- 算法导论程序15-计数排序(Python)
- 算法导论 — 8.3 基数排序
- 算法导论程序16--基数排序(Python)
- 算法导论 基数排序
- RSA模重复平方算法小示例
- 【算法导论之四】计数排序