Exercício da parte "Ordenação: algoritmo Quicksort"

Re: Exercício da parte "Ordenação: algoritmo Quicksort"

por Renato de Souza -
Número de respostas: 0

Minha função do exercício 2 ONão. Considerei que se todos os elementos forem maiores ou iguais ao primeiro, ou se todos forem menores que o último, isso seria um vetor arrumado; e um vetor V[p...r-1]. Não gostei muito ela, achei que ficou meio 'feia' e provavelmente dá para fazer sem esse vetor auxiliar, mantendo ONão, mas não pensei em outra forma. pensativo

int arrumado(int v[], int p, int r) {
int vAux[r-p];
int max;
int min;
int cont;

for (cont = 0; cont < r - p; cont++) {
if (cont == 0) {
max = v[cont + p];
vAux[cont] = TRUE;
}

else {
if (v[cont + p] >= max) {
vAux[cont] = TRUE;
max = v[cont + p];
}

else
vAux[cont] = FALSE;
}
}

for (cont = (r - p - 1); cont > -1; cont--) {
if (cont == (r - p - 1))
min = v[cont+p];

else {
if (v[cont+p] >= min)
vAux[cont] = FALSE;

else
min = v[cont];
}

if (vAux[cont+p])
return (cont+p);
}


return -1;
}