package br.edu.unicapital.Ordenacao; public class QuickSort { private int numeros []; public void setNumeros (int [] vetor) { // capitura o vetor a ordenar numeros = vetor; } private int [] getNumeros () { return numeros; } public int[] ordene () { // metodo que retorna o vetor ordenado quickSort(getNumeros(), 0, getNumeros().length-1); return getNumeros(); } private void quickSort(int x[],int iniVet, int fimVet) { int i = iniVet; int j = fimVet; int pivo = x[(iniVet + fimVet) / 2]; do { while(x[i] < pivo){ i++; } while(x[j]> pivo){ j--; } if(i <= j){ int troca = x[i]; x[i] = x[j]; x[j] = troca; i++; j--; } } while(i <= j); if(j > iniVet){ quickSort(x , iniVet, j); } if(i < fimVet){ quickSort(x , i, fimVet); } } }