O bubble sort realiza a comparação entre itens consecutivos, posicionando os elementos de maior valor ao final da estrutura em cada rodada. Isso acontece devido à forma como é feita a ordenação. No caso concreto, imagine que devemos ordernar de forma crescente um vetor com 5 elementos: 4,2,5,3,1.
1ª Rodada [termina quando atingirmos o último elemento]
1º Passo:
Realiza-se a comparação dos elementos 4 e 2. Como 4 é maior que 2, suas posições são trocadas. Assim, o vetor fica assim:
2,4,...
2º Passo:
Em seguida, compara-se os elementos 4 e 5. Como 4 é menor que 5 e encontra-se à esquerda, preserva-se a ordem dos elementos.
3º Passo:
Compara-se os elementos 5 e 3. Como 5 é maior que 3, suas posições são trocadas. Assim, o vetor fica assim:
2,4,3...
4º Passo:
Por fim, compara-se 5 (que ficou à direita no passo anterior) com 1. O resultado é a troca das posições.
2,4,3,1,5.
Fim da Primeira Rodada! Veja que o maior elemento está no fim da estrutura.
2ª Rodada:
Nesta rodada, o elemento 4 vai para o final da estrutura (ficando situado antes do elemento 5)
3 ª Rodada:
Nesta rodada, o elemento 3 vai para o final da estrutura (ficando situado antes dos elementos 4 e 5)
4 ª Rodada:
Nesta rodada, o elemento 2 vai para o final da estrutura (ficando situado antes dos elementos 3, 4 e 5)
Assim, o vetor estará completamente ordenado conforme abaixo:
1, 2, 3, 4, 5.