diff --git a/count_sort.c b/count_sort.c new file mode 100644 index 0000000..0535974 --- /dev/null +++ b/count_sort.c @@ -0,0 +1,53 @@ +#include +#include +void swap(int *x,int *y) +{ +int temp=*x; +*x=*y; +*y=temp; +} +int findMax(int A[],int n) +{ +int max=INT32_MIN; +int i; +for(i=0;imax) +max=A[i]; +} +return max; +} +void CountSort(int A[],int n) +{ +int i,j,max,*C; +max=findMax(A,n); +C=(int *)malloc(sizeof(int)*(max+1)); +for(i=0;i0) +{ +A[i++]=j; +C[j]--; +} +else +j++; +} +} +int main() +{ +int A[]={11,13,7,12,16,9,24,5,10,3},n=10,i; +CountSort(A,n); +for(i=0;i<10;i++) +printf("%d ",A[i]); +printf("\n"); +return 0; +} \ No newline at end of file