Counting sort: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Linha 199:
}
}
</syntaxhighlight>{{Portal3|Tecnologias de informação}}
 
</syntaxhighlight><blockquote>Código correto em Java 1.1 kk</blockquote><syntaxhighlight lang="java">
public void sort(Integer[] array, int leftIndex, int rightIndex) {
if (array.length == 0|| array == null || leftIndex <0 ||
rightIndex > array.length) return;
int[] auxiliar = new int[rightIndex- leftIndex+1];
int max = 0;
for(int X = 0 ; X < array.length ; X++){
if(array[X] >= max){
max = array[X];
}
}
int[] outroAux = new int[max+1];
for (int j = 0; j< array.length;j++) {
outroAux[array[j]] = outroAux[array[j]]+1;
}
for(int i=1; i< outroAux.length;i++) {
outroAux[i] += outroAux[i-1];
}
for(int j = rightIndex;j>=leftIndex; j--) {
outroAux[array[j]]-=1;
auxiliar[outroAux[array[j]]] = array[j];
}
for(int i = leftIndex; i<=rightIndex;i++) {
array[i] = auxiliar[i];
}
}
</syntaxhighlight>
{{Portal3|Tecnologias de informação}}
 
[[Categoria:Algoritmos de ordenação]]