Ordenação por Troca
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