#include <stdio.h>
#include <stdlib.h>
void countingSort( int * array, int size) ;
void printArray( int * array, int size) ;
int findMax( int * array, int size) ;
int main( void ) {
int set[ ] = { 41 , 2 , 17 , 37 , 22 , 104 , 86 , 92 , 11 , 58 , 34 } ;
int size = sizeof ( set) / sizeof ( set[ ] ) ;
printf ( "Array before sorting: \n " ) ; printArray( set, size) ;
countingSort( set, size) ;
printf ( "\n Array after sorting: \n " ) ; printArray( set, size) ;
return 0 ;
}
void printArray( int * array, int size) {
for ( int i = 0 ; i < size; i++ ) {
}
}
void countingSort( int * array, int size) {
int range = findMax( array, size) + 1 ;
int count[ range] ;
int output[ size] ;
int i;
for ( i = 0 ; i < range; i++ ) {
count[ i] = 0 ;
}
for ( i = 0 ; i < size; i++ ) {
++ count[ array[ i] ] ;
}
for ( i = 1 ; i < range; i++ ) {
count[ i] += count[ i - 1 ] ;
}
for ( i = size - 1 ; i >= 0 ; i-- ) {
output[ count[ array[ i] ] - 1 ] = array[ i] ;
-- count[ array[ i] ] ;
}
for ( i = 0 ; i < size; i++ ) {
array[ i] = output[ i] ;
}
}
void printArray( int * array, int size) {
for ( int i = 0 ; i < size; i++ ) {
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgY291bnRpbmdTb3J0KGludCAqYXJyYXksIGludCBzaXplKTsKdm9pZCBwcmludEFycmF5KGludCAqYXJyYXksIGludCBzaXplKTsKaW50IGZpbmRNYXgoaW50ICphcnJheSwgaW50IHNpemUpOwoKaW50IG1haW4odm9pZCkgewoJaW50IHNldFtdID0gezQxLCAyLCAxNywgMzcsIDIyLCAxMDQsIDg2LCA5MiwgMTEsIDU4LCAzNH07CglpbnQgc2l6ZSA9IHNpemVvZihzZXQpL3NpemVvZihzZXRbXSk7CgkKCXByaW50ZigiQXJyYXkgYmVmb3JlIHNvcnRpbmc6IFxuIik7CglwcmludEFycmF5KHNldCwgc2l6ZSk7CgkKCWNvdW50aW5nU29ydChzZXQsIHNpemUpOwoJCglwcmludGYoIlxuQXJyYXkgYWZ0ZXIgc29ydGluZzogXG4iKTsKCXByaW50QXJyYXkoc2V0LCBzaXplKTsKCQoJcmV0dXJuIDA7Cn0KCnZvaWQgcHJpbnRBcnJheShpbnQgKmFycmF5LCBpbnQgc2l6ZSl7Cglmb3IoaW50IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKXsKCQlwcmludGYoIiVkICIsIGFycmF5W2ldKTsKCX0KCXByaW50ZigiXG4iKTsKfQoKdm9pZCBjb3VudGluZ1NvcnQoaW50ICphcnJheSwgaW50IHNpemUpewoJaW50IHJhbmdlID0gZmluZE1heChhcnJheSwgc2l6ZSkgKyAxOwoJaW50IGNvdW50W3JhbmdlXTsKCWludCBvdXRwdXRbc2l6ZV07CglpbnQgaTsKCWZvcihpID0gMDsgaSA8IHJhbmdlOyBpKyspewoJCWNvdW50W2ldID0gMDsKCX0KCQoJZm9yKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKXsKCQkrK2NvdW50W2FycmF5W2ldXTsKCX0KCQoJZm9yKGkgPSAxOyBpIDwgcmFuZ2U7IGkrKyl7CgkJY291bnRbaV0gKz0gY291bnRbaSAtIDFdOwoJfQoJCglmb3IoaSA9IHNpemUgLSAxOyBpID49IDA7IGktLSl7CgkJb3V0cHV0W2NvdW50W2FycmF5W2ldXSAtIDFdID0gYXJyYXlbaV07CgkJLS1jb3VudFthcnJheVtpXV07Cgl9CgkKCWZvcihpID0gMDsgaSA8IHNpemU7IGkrKyl7CgkJYXJyYXlbaV0gPSBvdXRwdXRbaV07Cgl9Cn0KCnZvaWQgcHJpbnRBcnJheShpbnQgKmFycmF5LCBpbnQgc2l6ZSl7Cglmb3IoaW50IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKXsKCQlwcmludGYoIiVkICIsIGFycmF5W2ldKTsKCX0KCXByaW50ZigiXG4iKTsKfQo=
compilation info
prog.c: In function 'main':
prog.c:10:36: error: expected expression before ']' token
int size = sizeof(set)/sizeof(set[]);
^
prog.c: At top level:
prog.c:57:6: error: redefinition of 'printArray'
void printArray(int *array, int size){
^
prog.c:23:6: note: previous definition of 'printArray' was here
void printArray(int *array, int size){
^
stdout