#include <stdio.h> void countSort(int A[],int B[],int length){ int k = 10,i,j; int help[10]; for(i=0;i<k;i++){ help[i] = 0; } for(i=0;i<length;i++){ help[A[i]]++; } for(j = 1;j<k;j++){ help[j]+=help[j-1]; } for(i = 0;i<length;i++){ B[help[A[i]]-1] = A[i]; help[A[i]]--; } for(i = 0;i<length;i++){ printf("%d\t",B[i]); } printf("\n"); } int main(){ int A[10] = {9,8,7,6,5,5,7,3,2,1}; int B[10]; countSort(A,B,10); return 0; }
相关文章
- 09-09c语言实现顺序表的基本操作
- 09-09C语言数据结构静态栈——计算器的实现
- 09-09C语言实现学生成绩管理系统(Easy图形界面)
- 09-09堆的创建、优先队列、topk、堆排序C语言实现
- 09-09C语言实现简单的Reactor
- 09-09哈希表的C语言链表实现
- 09-09131 分割回文串 C语言实现 dfs+动态规划
- 09-09C实现9种排序算法
- 09-09PAT 1034 有理数四则运算 C语言实现
- 09-09C语言中字符串和内存库函数的模拟实现