Como usar o método de classificação para Quicksort em Java

Uma das técnicas de triagem mais comumente utilizados em Java é chamado a técnica Quicksort. É uma ótima maneira de lidar com recursão. O código real que impulsiona uma rotina Quicksort é surpreendentemente simples:

pública tipo static void (int baixa, int alto) {if (baixo> = alto) voltar-int p = partição (baixo, alto) -sort (baixo, p) -sort (p + 1, alta) -}

Este método classifica a porção de uma matriz indicado pelos valores elevados e baixos de índice passados ​​para ele. ignorando o E se declaração por agora, o ordenar método funciona chamando um divisória método. Este método reorganiza a matriz em duas partições de modo que todos os valores na partição esquerda são menores do que todos os valores na divisória direita.

o divisória método retorna o índice da extremidade da partição esquerda. Então o ordenar método chama-se duas vezes: uma vez para classificar a partição esquerda e novamente para classificar a partição correta.

Para obter o ordenar método iniciado, você chamá-lo com 0 como o valor baixo e o comprimento da matriz e 1 como o alto valor. Assim, o ordenar método começa por classificar a matriz inteira. Cada vez que o ordenar método é executado, ele chama-se duas vezes para classificar partições menores do array.

o E se declaração no início do ordenar método compara o valor baixo com o seu elevado valor. Se o valor baixo é igual a ou maior do que o alto valor, a partição tem apenas um elemento (ou talvez nenhuma elementos) e, portanto, já é ordenada. Nesse caso, o ordenar método simplesmente retorna sem chamar-se novamente. Essa é a condição de que termina a recursividade.

menu