//Counting Sort
#include <stdio.h>
void countingsort(int a[], int k, int n);
void main()
{
int n, i, k=0, a[15];
printf("How many element in array:");
scanf("%d", &n);
printf("\n Enter the element for array:");
for(i=1; i<=n; i++)
{
scanf("%d", &a[i]);
if(a[i]>k)
{
k = a[i];
}
}
countingsort(a,k,n);
}
void countingsort(int a[], int k, int n)
{
int i, j;
int b[15], c[100];
for(i=0; i<=k; i++)
c[i] = 0;
for(j=1; j<=n; j++)
c[a[j]] = c[a[j]] + 1;
for(i=1; i<=k; i++)
c[i] = c[i] + c[i-1];
for(j=n; j>=1; j--)
{
b[c[a[j]]] = a[j];
c[a[j]] = c[a[j]]-1;
}
printf("\nThe Sorted array is:");
for(i=1; i<=n; i++)
{
printf("\t");
printf("%d",b[i]);
}
}