```
/*kp381 计数排序*/
void CountSort(int A[],int B[],int n,int k){
int i,C[k];
for(i=0;i<k;i++){
C[i]=0; //初始化计数数组
}
for(i=0;i<n;i++) //遍历数组,统计每个元素出现的次数(个数)
C[A[i]]++; //C[x]保存的是等于A[i]元素个数
for(i=1;i<k;i++) C[i]=C[i]+C[i-1];//C[x]保存的是<=A[i]元素个数
for(i=n-1;i>=0;i--){//从后往前遍历输入数组B[]
B[C[A[i]]-1]=A[i];//将元素A[i]放到数组B的正确位置
C[A[i]]=A[A[i]]-1;//若数组A中存在相同元素,需要这一步,否则不需要。
}
}
```
…