Ordenação por Troca

De Wiki DAINF

Também conhecido como método bolha ou Bubblesort.

Esta classe de algoritmos está baseada no princípio de analisar uma seqüência de números desordenados, comparando sempre um algarismo com o que está localizado à sua frente. Para realizar uma ordenação em ordem crescente, o algoritmo compara o algarismo em questão com o seu sucessor, se o último for menor que o primeiro, eles são trocados de posição. Caso contrário, suas posições permanecem inalteradas.

E assim o algoritmo segue fazendo essa série de verificações e eventuais alterações por toda a seqüência de números, ocasionalmente são feitas alterações em mais de uma etapa, para que toda a seqüência de números esteja ordenada.

Exemplo de implementação em C

void ordenacao_bolha (int vet[], int n){
   int i, j, k, aux;
   for(i=0; i<n-1; i++)
       for(j=0; j<n-i; j++)
           if(vet[j]>vet[j+1]){
               aux=vet[j];
               vet[j]=vet[j+1];
               vet[j+1]=aux;
           }
}

Referências

Bubble sort na Wikipédia
http://www2.dcc.ufmg.br/disciplinas/aeds2_turmaA1/bubblesort.pdf
http://pucrs.campus2.br/~annes/alg3_ord_tro
http://www.cs.princeton.edu/~ah/alg_anim/gawain-4.0/BubbleSort.html

Ferramentas pessoais