Bubble Sort (Ordenao por bolhas) um difundido mtodo de ordenao de
arranjos simples, seu princpio comparar e ordenar os valores consecutivos (dois a dois), caso estejam fora de ordem os mesmo trocam de posio, fazendo com que os maiores valores passem (borbulhem) para o fim do vetor, dai vem o nome do algoritmo. Como o Bubble Sort percorre o vetor diversas vezes, no recomendada a utilizao dele para aplicaes que exijam velocidade e que tenha um trafego grande de dados. Utilizaremos exemplos para explicar melhor a forme que o algoritmo trabalha, iremos colocar em ordem um vetor em ordem crescente com os numero [7, 5, 2, 6, 3].
1 Iterao
O algoritmo comea comparando a primeira e segunda posio do vetor elementos 7 e 5 respectivamente.
Como o elemento 7 maior que o elemento 5, feita a troca de posio, reordenando o vetor [5, 7, 2, 6, 3].
O prximo passo comparar a segunda e terceira posio do vetor, elementos 7 e 2.
Como o elemento 7 maior que o elemento 2, feita a troca de posio, reordenando o vetor [5, 2, 7, 6, 3].
Compara-se a terceira posio do vetor com a quarta, que agora tem o elemento 6.
Como o elemento 7 maior que o elemento 6, feita a troca de posio, reordenando o vetor [5, 2, 6, 7, 3].
Compara-se a quarta e quinta posio do vetor, elementos 7 e 3.
Como o elemento 7 maior que o elemento 3, feita a troca de posio, reordenando o vetor [5, 2, 6, 3, 7].
Como podemos ver, o elemento de valor 7 o maior elemento do vetor e ficou na ultima posio, finalizando o primeira iterao por completo, agora necessrio ordenar o resto da sequncia, porm o ultimo elemento no ser verificado. A prxima iterao tem todo o processo repetido.
2 Iterao
Vamos marca o elemento 7 de vermelho pois ele no ser mais comparado, pois o ultimo elemento do vetor [5, 2, 6, 3, 7]. Vamos repetir o processo anterior resumidamente:
Podemos perceber que ao ordenar a posio do elemento 5, todos os elementos ficaram em ordem crescente, terminando a Iterao e chegando ao resultado desejado [2, 3, 5, 6, 7].
A representao desse algoritmo em Java fica da seguinte forma:
Cdigo Buble Sort em Java
public static void main(String args[]){ int[] vet = {7, 5, 2, 6, 3}; int aux = 0; int i = 0;