
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);
}
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (8)
VOL já não é mais como antes? (15)
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)









