#include<iostream>
#include<stdlib.h>
using namespace std;
void counting_sort(int [], int, int);
main()
{
int n,k = 0, a[15];
cout << "Enter the number of input : ";
cin >> n;
cout << "\nEnter the elements to be sorted :\n";
for ( int i = 1; i <= n; i++)
{
cin >> a[i];
if(a[i] > k)
{
k = a[i];
}
}
counting_sort(a, k, n);
system("pause");
//getch();
}
void counting_sort(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;
}
cout << "\nThe Sorted array is : ";
for(i = 1; i <= n; i++)
cout << b[i] << " " ;
}
I2luY2x1ZGU8aW9zdHJlYW0+IAojaW5jbHVkZTxzdGRsaWIuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsgCgp2b2lkIGNvdW50aW5nX3NvcnQoaW50IFtdLCBpbnQsIGludCk7CgptYWluKCkKewoJaW50IG4sayA9IDAsIGFbMTVdOwoJY291dCA8PCAiRW50ZXIgdGhlIG51bWJlciBvZiBpbnB1dCA6ICI7CgljaW4gPj4gbjsKCWNvdXQgPDwgIlxuRW50ZXIgdGhlIGVsZW1lbnRzIHRvIGJlIHNvcnRlZCA6XG4iOwoJZm9yICggaW50IGkgPSAxOyBpIDw9IG47IGkrKykKCXsKCQljaW4gPj4gYVtpXTsKCQlpZihhW2ldID4gaykKCQl7CgkJCWsgPSBhW2ldOwoJCX0KCX0KCWNvdW50aW5nX3NvcnQoYSwgaywgbik7CglzeXN0ZW0oInBhdXNlIik7CgkvL2dldGNoKCk7Cn0KCnZvaWQgY291bnRpbmdfc29ydChpbnQgYVtdLCBpbnQgaywgaW50IG4pCnsKCWludCBpLCBqOwoJaW50IGJbMTVdLCBjWzEwMF07Cglmb3IoaSA9IDA7IGkgPD0gazsgaSsrKQoJCWNbaV0gPSAwOwoJCQoJZm9yKGogPTE7IGogPD0gbjsgaisrKQoJCWNbYVtqXV0gPSBjW2Fbal1dICsgMTsKCQkKCWZvcihpID0gMTsgaSA8PSBrOyBpKyspCgkJY1tpXSA9IGNbaV0gKyBjW2ktMV07CgkJCglmb3IoaiA9IG47IGogPj0gMTsgai0tKQoJewoJCWJbY1thW2pdXV0gPSBhW2pdOwoJCWNbYVtqXV0gPSBjW2Fbal1dIC0gMTsKCX0KCWNvdXQgPDwgIlxuVGhlIFNvcnRlZCBhcnJheSBpcyA6ICI7Cglmb3IoaSA9IDE7IGkgPD0gbjsgaSsrKQoJY291dCA8PCBiW2ldIDw8ICIgIiA7Cn0gCg==