Contagem de comparações e atribuições em quick sort [RESOLVIDO]

1. Contagem de comparações e atribuições em quick sort [RESOLVIDO]

Lucas
DcoderLA

(usa Debian)

Enviado em 02/11/2020 - 00:29h

Boa noite a todos, estou estudando um algoritmo de quick sort para ordenar um vetor, porem quem adicionar no código dois contadores para contar quantas comparações e atribuições são feitas durante o método, contudo, não estou conseguindo saber ao certo onde devo colocar. Segue o código:

/* Função de partição do vetor para o quick sort */
int particao(int *v, int ini, int fim) {

int aux;
int pivo = v[ini];
int i = ini + 1;
int j = fim;

while (i <= j)
{
while ((i <= j) && v[i] <= pivo) {
i++; //tentei atribuição aqui e não funcionou
}

while(v[j] > pivo) {
j--; //tentei atribuição aqui e não funcionou
}

if (i < j)
{
aux = v[i];
v[i] = v[j];
v[j] = aux; //tentei atribuição aqui e não funcionou
}
}

aux = v[ini];
v[ini] = v[j];
v[j] = aux;
//tentei atribuição aqui e não funcionou
return j;
}

/* Auxiliar para a ordenação por QUICK SORT */
void quick_sortR(int *v, int ini, int fim) {

int j;

if (ini < fim)
{ //tentei atribuição aqui e não funcionou
j = particao(v, ini, fim);
if(ini < (j -1))
//tentei comparação aqui e não funcionou
quick_sortR(v, ini, fim);

if((j+1) < fim)
//tentei comparação aqui e não funcionou
quick_sortR(v, j + 1, fim);

}
}

/* Ordenação por QUICK SORT */
void quick_sort(int *v, int tam) {

quick_sortR(v, 0, tam -1);

}


Qualquer ajuda é bem vinda, desde já agradeço a todos.


  


2. Re: Contagem de comparações e atribuições em quick sort [RESOLVIDO]

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 02/11/2020 - 09:03h

Crie uma variável static onde vc quer medir
https://www.geeksforgeeks.org/static-variables-in-c/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts