//Counting sort
#include<stdio.h>
#define high 50
int arr[ high] ;
void sort( int n) {
int max= 0 , i, j, c;
for ( i= 0 ; i< n; i++ ) {
if ( arr[ i] > max) {
max= arr[ i] ;
}
}
int count[ max+ 1 ] ;
for ( c= 0 ; c< max; c++ ) {
count[ c] = 0 ;
}
for ( i= 0 ; i< n; i++ ) {
count[ arr[ i] ] ++;
}
for ( c= 0 , i= 0 ; c<= max; c++ ) {
for ( j= 0 ; j< count[ c] ; j++ ) {
arr[ i] = c;
i++;
}
}
}
void main( ) {
int n, i;
printf ( "Enter no.of element in Array:" ) ;
for ( i= 0 ; i< n; i++ ) {
printf ( "Element for index-%d:" , i
) ; }
for ( i= 0 ; i< n; i++ ) {
}
sort( n) ;
printf ( "Sorted Array using Counting sort:\n " ) ; for ( i= 0 ; i< n; i++ ) {
}
}
Ly9Db3VudGluZyBzb3J0IAojaW5jbHVkZTxzdGRpby5oPgojZGVmaW5lIGhpZ2ggNTAKaW50IGFycltoaWdoXTsKCnZvaWQgc29ydChpbnQgbil7CiAgICBpbnQgbWF4PTAsaSxqLGM7CiAgICBmb3IgKGk9MDtpPG47aSsrKXsKICAgICAgICBpZiAoYXJyW2ldPm1heCl7CiAgICAgICAgICAgIG1heD1hcnJbaV07CiAgICAgICAgfQogICAgfQogICAgaW50IGNvdW50W21heCsxXTsKICAgIGZvciAoYz0wO2M8bWF4O2MrKyl7CiAgICAgICAgY291bnRbY109MDsKICAgIH0KICAgIGZvciAoaT0wO2k8bjtpKyspewogICAgICAgIGNvdW50W2FycltpXV0rKzsKICAgIH0KICAgIGZvciAoYz0wLGk9MDtjPD1tYXg7YysrKXsKICAgICAgICBmb3IgKGo9MDtqPGNvdW50W2NdO2orKyl7CiAgICAgICAgICAgIGFycltpXT1jOwogICAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIG1haW4oKXsKICAgIGludCBuLGk7CiAgICAKICAgIHByaW50ZigiRW50ZXIgbm8ub2YgZWxlbWVudCBpbiBBcnJheToiKTsKICAgIHNjYW5mKCIlZCIsJm4pOwogICAgCiAgICBwcmludGYoIkVudGVyIHRoZSBBcnJheTpcbiIpOwogICAgZm9yIChpPTA7aTxuO2krKyl7CiAgICAgICAgcHJpbnRmKCJFbGVtZW50IGZvciBpbmRleC0lZDoiLGkpOwogICAgICAgIHNjYW5mKCIlZCIsJmFycltpXSk7CiAgICB9CiAgICAKICAgIHByaW50ZigiR2l2ZW4gQXJyYXkgaXM6XG5bIik7CiAgICBmb3IgKGk9MDtpPG47aSsrKXsKICAgICAgICBwcmludGYoIiAlZCAiLGFycltpXSk7CiAgICB9CiAgICBwcmludGYoIl0iKTsKICAgIAogICAgc29ydChuKTsKICAgIAogICAgcHJpbnRmKCJTb3J0ZWQgQXJyYXkgdXNpbmcgQ291bnRpbmcgc29ydDpcbiIpOwogICAgcHJpbnRmKCJbIik7CiAgICBmb3IgKGk9MDtpPG47aSsrKXsKICAgICAgICBwcmludGYoIiAlZCAiLGFycltpXSk7CiAgICB9CiAgICBwcmludGYoIl0iKTsKfQ==
stdin
MTAKYWJhCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtzCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtzCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtz
10
aba
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks