Counting sort: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Rimozione codice, si veda pagina di discussione sezione Implementazioni
Riga 46:
k ← k + 1
C[i] ← C[i] - 1
 
==Codice in Linguaggio C==
<source lang="c">
int* countingSort(int *array, int length) {
int index, interval, *count, minimum, maximum, *result = NULL;
 
if(length > 0) {
minimum = maximum = array[0];
 
for(index = 1; index < length; index++) {
if(array[index] < minimum)
minimum = array[index];
 
if(array[index] > maximum)
maximum = array[index];
}
 
interval = maximum - minimum + 1;
count = (int*) calloc(interval, sizeof(int));
result = (int*) calloc(length, sizeof(int));
 
for(index = 0; index < length; index++)
count[array[index] - minimum]++;
 
for(length = 0, index = 0; index < interval; index++)
while(count[index]-- > 0)
result[length++] = index + minimum;
}
 
return result;
}
</source>
 
== Bibliografia ==