Alguém sabe se os contadores de comparações e trocas estão posicionados no lugar correto? Muito Obrigado.
public static void quickSort(int v[], int esquerda, int direita, int numTrocas, int b[], int c) {
int esq = esquerda;
int dir = direita;
int pivo = v[(esq + dir) / 2];
int troca;
while (esq <= dir){
while (v[esq] < pivo) {
esq = esq + 1;
}
while (v[dir] > pivo) {
dir = dir - 1;
}
c++;
if (esq <= dir) {
troca = v[esq];
v[esq] = v[dir];
v[dir] = troca;
esq = esq + 1;
dir = dir - 1;
numTrocas++;
}
}
b[1] = numTrocas;
b[2] = c;
if (dir > esquerda){
quickSort(v, esquerda, dir, numTrocas, b, c);
}
if (esq < direita){
quickSort(v, esq, direita, numTrocas, b, c);
}
}