Alguém poderia me ajudar com este código de quick sort, ele compila normal… era pra estar ordenando, mas não está. Alguém pra ajudar?

2 respostas
N
void quickSort(int inicio, int fim){

int esquerda, direita, pivo, meio;

cliente aux;
esquerda = inicio;
direita = fim;

meio = (int)((esquerda + direita) / 2);
pivo = vetor[meio].nome;


while(direita >= esquerda){
    while(vetor[esquerda].nome < pivo){
        esquerda++;
    }
    while(vetor[direita].nome > pivo){
        direita--;
    }
    if(esquerda <= direita){

        aux = vetor[esquerda];
        vetor[esquerda] = vetor[direita];
        vetor[direita] = aux;

        esquerda++;
        direita--;
    }

}
if(inicio < direita){
    quickSort(inicio, direita);
}
if(esquerda < fim){
    quickSort(esquerda, fim);
}

}

2 Respostas

Rodrigo_Void

Teste de mesa ou debug.

staroski

Posta o código onde você utiliza este método.

Criado 4 de novembro de 2018
Ultima resposta 5 de nov. de 2018
Respostas 2
Participantes 3