Módulo 11 - Ordenação: colocar em ordem
Ordenação da bolha: trocar vizinhos
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 08/07/2026
O que você vai aprender
- Entender a ordenação da bolha: comparar vizinhos e trocar se fora de ordem.
- Acompanhar uma passada da bolha, vendo o maior subir ao fim.
- Perceber que várias passadas são necessárias até tudo ficar em ordem.
- Reconhecer a troca (swap) de dois valores como operação central.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Ordenação da bolha: trocar vizinhos.
Os objetivos desta aula. Entender a ordenação da bolha: comparar vizinhos e trocar se fora de ordem. Acompanhar uma passada da bolha, vendo o maior subir ao fim. Perceber que várias passadas são necessárias até tudo ficar em ordem. Reconhecer a troca (swap) de dois valores como operação central.
Veja o essencial, parte por parte.
Comparar vizinhos e trocar. A bolha compara itens VIZINHOS e os troca quando estão fora de ordem.
A troca de dois valores, com cuidado. A operação no coração da bolha é a troca de dois valores, e ela esconde uma pegadinha clássica.
Simples de entender, lenta de rodar. A ordenação da bolha é campeã de clareza, mas não de velocidade.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Comparar vizinhos e trocar
A ordenação da bolha nasce de uma ideia que uma criança entenderia: se dois vizinhos estão na ordem errada, troque-os de lugar. Você percorre a lista da esquerda para a direita, olhando pares de itens grudados. Se o da esquerda é maior que o da direita, eles estão fora de ordem, então você os troca. Se já estão na ordem certa, deixa como está e segue para o próximo par. Ao terminar uma passada completa pela lista, acontece algo bonito: o maior valor de todos, empurrado troca após troca, chegou ao fim da lista, como uma bolha de ar que sobe até o topo da água. Por isso o método se chama bolha. O maior já está no lugar; falta ordenar o resto.
Uma passada só não basta, porque ela garante apenas que o maior chegou ao fim. Os outros valores podem ainda estar desarrumados. Então você repete: faz outra passada, e o segundo maior sobe até a penúltima posição; outra, e o terceiro maior se acomoda; e assim por diante. Cada passada acerta mais um item nas posições do fim, então a parte já ordenada cresce de trás para frente. Você para quando uma passada inteira não precisa de nenhuma troca, sinal de que todos os vizinhos já estão em ordem e, portanto, a lista inteira está ordenada. Esse é o momento em que a bolha declara vitória.
A troca de dois valores, com cuidado
A operação no coração da bolha é a troca de dois valores, e ela esconde uma pegadinha clássica. Trocar o conteúdo de duas caixas parece simples: ponha o valor da caixa A na B e o da B na A. Mas se você faz direto, na primeira linha o valor de A sobrescreve o de B, e o valor original de B se perde para sempre; a segunda linha acaba copiando A para A. O resultado é as duas caixas com o mesmo valor, não trocadas. A solução é usar uma terceira caixa, um auxiliar, para guardar um dos valores antes de sobrescrever: guarde A no auxiliar, copie B para A, e então copie o auxiliar para B. É como trocar o conteúdo de dois copos cheios: você precisa de um terceiro copo vazio para não derramar.
// troca correta de duas posições usando um auxiliar:
auxiliar <- lista[i]
lista[i] <- lista[j]
lista[j] <- auxiliar
// a bolha, em pseudocódigo:
repita
trocou <- falso
para i de 0 até tamanho - 2 faça
se lista[i] > lista[i + 1] então
auxiliar <- lista[i]
lista[i] <- lista[i + 1]
lista[i + 1] <- auxiliar
trocou <- verdadeiro
fim
fim
até trocou = falso // parou quando uma passada não trocou nadaA troca usa um auxiliar para não perder um valor. A bolha repete passadas até uma delas não trocar nada.
🎮 Jogo da aula
O resultado de uma passada
Faça UMA passada da ordenação da bolha na lista abaixo (compare e troque vizinhos, esquerda para a direita) e escolha o resultado.
lista <- [3, 1, 4, 2]
// uma passada: compara (3,1)->troca, (3,4)->fica, (4,2)->trocaSimples de entender, lenta de rodar
A ordenação da bolha é campeã de clareza, mas não de velocidade. Repare que ela usa dois laços aninhados: um para as passadas e outro para percorrer os pares dentro de cada passada. Você já sabe do módulo de laços aninhados o que isso significa: o custo cresce com o quadrado do tamanho. Para dez itens, são cerca de cem comparações; para mil, cerca de um milhão; para um milhão de itens, um trilhão, o que é inviável. Por isso a bolha é ótima para aprender e para listas pequenas, mas ninguém a usa para ordenar dados grandes de verdade. As linguagens reais trazem algoritmos bem mais espertos, que ordenam um milhão de itens num piscar de olhos usando ideias como dividir para conquistar. A bolha ensina o raciocínio; a eficiência dela é o gancho perfeito para o próximo módulo.
Teste rápido
Por que trocar os valores de duas variáveis exige uma terceira variável auxiliar?
Perguntas frequentes
- Como funciona a ordenação da bolha?
- Ela percorre a lista comparando itens vizinhos e trocando os que estão fora de ordem. A cada passada, o maior valor restante sobe até o fim, como uma bolha. Repete as passadas até nenhuma troca ser necessária, quando a lista está ordenada. É o método mais fácil de entender.
- Por que se chama bolha?
- Porque, a cada passada, o maior valor vai subindo posição por posição até o fim da lista, como uma bolha de ar que sobe até o topo da água. Os valores maiores borbulham para o fim, um por passada, até todos estarem no lugar. A imagem dá nome ao método.
- Por que preciso de uma variável auxiliar para trocar dois valores?
- Porque, sem ela, ao copiar o primeiro valor para o lugar do segundo, o valor original do segundo é sobrescrito e se perde. O auxiliar guarda um dos valores antes da sobrescrita, como um terceiro copo vazio permite trocar o conteúdo de dois copos cheios sem derramar. É um cuidado essencial.
- A ordenação da bolha é usada na prática?
- Quase não, para dados grandes: ela é lenta, com custo que cresce ao quadrado do tamanho. É excelente para aprender e serve para listas pequenas. Para ordenar de verdade, as linguagens trazem algoritmos muito mais rápidos, prontos e testados, que você usa em uma linha.
- Quantas passadas a bolha precisa?
- No pior caso, quase tantas quanto o número de itens, porque cada passada acomoda só mais um valor no fim. Uma otimização comum é parar assim que uma passada não faz nenhuma troca, sinal de que a lista já está ordenada. Isso ajuda quando a lista está quase em ordem.
- Por que a bolha usa laços aninhados?
- Porque são duas repetições encaixadas: um laço externo para as passadas e um interno para percorrer e comparar os pares dentro de cada passada. Como você viu no módulo de laços aninhados, isso faz o custo crescer com o quadrado do tamanho, o que explica a lentidão da bolha em listas grandes.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.