Counting sort: diferenças entre revisões

967 bytes removidos ,  11h58min de 8 de novembro de 2017
m
Desfeita(s) uma ou mais edições de 191.35.88.65, com Reversão e avisos
m (Desfeita(s) uma ou mais edições de 191.35.88.65, com Reversão e avisos)
}
}
</syntaxhighlight>
</syntaxhighlight><blockquote>Código em Java 1.1 (Elaborado por; Lucas Jarrier)</blockquote><syntaxhighlight lang="java">
//ArrayIndexOutOfBoundsException
// Codando estilo Ventila
 
=== Código em Java 1.1 ===
<syntaxhighlight lang="java">
public void CountingSort(Integer[] array, int leftIndex, int rightIndex) {
}
}
</syntaxhighlight>{{Portal3|Tecnologias de informação}}
 
<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]]