E ae galera, não sei o erro que está acontecendo. O meu método de ordenação não está ordenando! Peguei ele na net e era pra estar tudo certo =/
ps: Ja tentei vários…
public static void quickSort(int []array,int inicio, int fim){
int meio;
if(inicio<fim){
meio = partition(array,inicio,fim);
quickSort(array,inicio,meio);
quickSort(array,meio+1,fim);
}
comparacaoQuickSort++;
printArray(array);
}
public static int partition(int []array, int ini, int fim){
int pivo, topo,i;
pivo = array[ini];
topo = ini;
for(i=ini+1;i<fim;i++){
if(array[i]<pivo){
array[topo]=array[i];
array[i]= array[topo+1];
topo++;
trocasQuickSort++;
}
comparacaoQuickSort+=2; //saida do if e contagem do for
}
comparacaoQuickSort++;
array[topo]=pivo;
return topo;
}
//*************************
//chamada da função
public static void main(String[] args) {
int array0[] = createRandom(100);
System.out.println("Vetor 100");
Sorts.quickSort(array0, array0[0], array0[array0.length-1]);
}
private static int[] createRandom(int lengh){
int []array = new int[lengh];
for (int i = 0; i < lengh; i++) {
array[i] = 1 + (int)(Math.random()*lengh);
}
return array;
}
Muito obrigado !!!