#include <stdio.h>
void counting_sort(int *a,int *b,int k,int length){
int c[k];
int i;
for(i=0;i<k;i++)
c[i]=0;
for(i=0;i<length;i++)
c[a[i]]++;
for(i=1;i<length;i++){
c[i]+=c[i-1];
}
for(i=0;i<length;i++){
b[ c[a[i]] - 1]=a[i];
c[a[i]]--;
}
}
int main(){
int a[8]={2,5,3,0,2,3,0,3};
int b[8];
counting_sort(a,b,6,8);
int i;
for(i=0;i<8;i++)
printf("%d ",b[i]);
return 0;
}
void counting_sort(int *a,int *b,int k,int length){
int c[k];
int i;
for(i=0;i<k;i++)
c[i]=0;
for(i=0;i<length;i++)
c[a[i]]++;
for(i=1;i<length;i++){
c[i]+=c[i-1];
}
for(i=0;i<length;i++){
b[ c[a[i]] - 1]=a[i];
c[a[i]]--;
}
}
int main(){
int a[8]={2,5,3,0,2,3,0,3};
int b[8];
counting_sort(a,b,6,8);
int i;
for(i=0;i<8;i++)
printf("%d ",b[i]);
return 0;
}