Bubble Sort 2

4
Bubble Sort Bubble Sort (Ordenação por bolhas) é um difundido método de ordenação de arranjos simples, seu princípio é comparar e ordenar os valores consecutivos (dois a dois), caso estejam fora de ordem os mesmo trocam de posição, 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, não é recomendada a utilização dele para aplicações 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ª Iteração O algoritmo começa comparando a primeira e segunda posição do vetor elementos 7 e 5 respectivamente. Como o elemento 7 é maior que o elemento 5, é feita a troca de posição, reordenando o vetor [5, 7, 2, 6, 3]. O próximo passo é comparar a segunda e terceira posição do vetor, elementos 7 e 2. Como o elemento 7 é maior que o elemento 2, é feita a troca de posição, reordenando o vetor [5, 2, 7, 6, 3].

description

Bubble Sort

Transcript of Bubble Sort 2

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