Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

phfmiranda

BubleSort código

Recommended Posts

Boa noite, o algoritmo buble sort é um método estavel, como posso torna-lo instavel?

 

void Bubblesort (int v[ ], int n)
{
int aux, i, j, trocas;
for (i = 0; i < n, i++)
{
trocas = 0;
for (j = 0; j < (n – i – 1); j++)
if ( v[j] > v[j+1] )
{
aux = v[j];
v[j] = v[j+1];
v[j+1] = aux;
trocas++;
}
if (trocas = = 0)
break;
}
}

 

Se eu remover a parte em vermelho resolveria ou melhor iria torna-lo instavel?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

Não, um algoritmo de ordenação é estável se preserva a ordem de registros de chaves iguais. Isto é, se tais registros aparecem na sequência ordenada na mesma ordem em que estão na sequência inicial. Por isso preciso torna-lo instável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, caso você retirasse a parte em vermelho tornaria ele instável, ou também substituindo em vez de "-", um "+", isso também faria o processo de instabilidade. Abraços e bons estudos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.