Vous êtes sur la page 1sur 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]);
}

Vous aimerez peut-être aussi