Você está na página 1de 3

Bubble Sort

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:
[5, 2, 6, 3, 7]: 5 > 2 = Sim, trocar e ordenar vetor: [2, 5, 6, 3, 7].
[2, 5, 6, 3, 7]: 5 > 6 = No, Vetor permanece como est: [2, 5, 6, 3, 7].
[2, 5, 6, 3, 7]: 6 > 3 = Sim, trocar e ordenar vetor: [2, 5, 3, 6, 7]:
Agora temos a segunda iterao por completo, pois o elemento 6 o segundo
maior numero do vetor, e novamente o processo vai se repetir.
3 Iterao
Agora temos [2, 5, 3, 6, 7].
[2, 5, 3, 6, 7]: 5 > 3 = Sim, trocar e ordenar vetor: [2, 3, 5, 6, 7].
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;
System.out.println("Vetor desordenado: ");
for(i = 0; i<5; i++){
System.out.println(" "+vet[i]);
}
System.out.println(" ");
for(i = 0; i<5; i++){
for(int j = 0; j<4; j++){
if(vet[j] > vet[j + 1]){
aux = vet[j];
vet[j] = vet[j+1];
vet[j+1] = aux;
}

}
}
System.out.println("Vetor organizado:");
for(i = 0; i<5; i++){
System.out.println(" "+vet[i]);
}

Thiago A. de Carvalho

Você também pode gostar