Counting sort: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 46:
k ← k + 1
C[i] ← C[i] - 1
==Esempio in Java==
 
<source lang=java>
public class NonComparative {
 
public static int[] countingSorting(int[] array){
int i;
int min, max;
max = min = array[0];
for(i=1; i<array.length; i++)
{
if (array[i] > max)
max = array[i];
else
if(array[i] < min)
min = array[i];
}
int length = max - min +1;
int[] suppArray = new int[length];
int[] returnArray = new int[length];
//aumenta il numero di volte che si è incontrato il valore
for(i=0; i<array.length; i++)
suppArray[array[i]] += 1;
//numero di elementi <= i
for(i=1; i<suppArray.length; i++)
suppArray[i] += suppArray[i-1];
for(i=array.length-1; i>=0; i--)
{
returnArray[suppArray[array[i]]-1] = array[i];
suppArray[array[i]] -= 1;
}
return returnArray;
}
}
</source>
 
== Bibliografia ==