Depois que o vetor deixa de ter cinco posições e passa a ter mil, a pergunta muda de figura: como colocar os valores em ordem e como encontrar um deles sem percorrer a lista inteira. Montar um algoritmo de ordenação de vetor em pseudocódigo é o exercício que conecta tudo o que veio antes, repetição, comparação e troca de variáveis, em um resultado visível.
Existem duas famílias de tarefa aqui, e elas se apoiam uma na outra. Ordenar coloca os elementos em sequência crescente ou decrescente. Buscar localiza a posição de um valor. A busca fica muito mais rápida quando o vetor já está ordenado, o que explica por que os dois temas quase sempre aparecem na mesma lista de exercícios. Se a ideia de sequência de passos ainda soa abstrata, o texto sobre o que é um algoritmo no dia a dia ajuda a fixar a base antes de entrar no código.
A operação que sustenta toda ordenação: a troca
Nenhum método de ordenação funciona sem trocar dois elementos de lugar. E trocar exige uma terceira variável, porque atribuir diretamente destrói um dos valores.
Em pseudocódigo, o padrão é: guarde o primeiro valor em uma variável auxiliar, copie o segundo para a posição do primeiro, e então copie a auxiliar para a posição do segundo. Quem tenta fazer em dois passos acaba com o mesmo número repetido nas duas posições. Esse é provavelmente o erro mais comum de toda a lista.
Algoritmo de ordenação de vetor em pseudocódigo pelo método da bolha
O método da bolha compara elementos vizinhos e troca quando estão fora de ordem. A cada passagem completa pelo vetor, o maior valor restante “sobe” até o fim. Repetindo o processo, o vetor fica ordenado.
- Percorra o vetor da primeira até a penúltima posição.
- Compare cada elemento com o seguinte.
- Se o da esquerda for maior, troque os dois usando a variável auxiliar.
- Ao terminar a passagem, repita tudo, mas sem incluir as posições já fixadas no fim.
- Pare quando uma passagem inteira não fizer nenhuma troca.
O passo cinco é a otimização que separa a versão ingênua da versão razoável. Sem ele, o algoritmo continua percorrendo um vetor já ordenado. Com uma variável indicadora de troca, ele encerra assim que o trabalho acabou.
Ordenação por seleção, quando trocas custam caro
A alternativa mais didática é a seleção. Em vez de trocar vizinhos o tempo todo, ela procura o menor valor do trecho ainda desordenado e o coloca na posição correta com uma única troca por passagem. Faz muito menos movimentação de dados, embora o número de comparações seja parecido.
| Método | Ideia central | Trocas | Melhor uso |
|---|---|---|---|
| Bolha | Compara vizinhos e troca | Muitas | Ensino e vetores quase ordenados |
| Seleção | Acha o menor e posiciona | Uma por passagem | Quando mover dado é caro |
| Inserção | Insere cada item no trecho já ordenado | Variável | Vetores pequenos ou quase ordenados |
Busca linear e busca binária: a diferença que aparece na escala
A busca linear percorre o vetor do início ao fim comparando cada posição com o valor procurado. Funciona sempre, ordenado ou não, e é a opção certa para vetores pequenos.
A busca binária exige vetor ordenado e trabalha por eliminação. Ela olha o elemento do meio; se o valor buscado for menor, descarta a metade de cima; se for maior, descarta a de baixo. A cada comparação, metade do vetor sai do jogo.
Na prática, em um vetor de mil posições, a busca linear pode precisar de mil comparações no pior caso. A binária resolve em cerca de dez. Esse contraste é o argumento que justifica o custo de ordenar antes de buscar quando muitas consultas serão feitas. Materiais acadêmicos sobre IME-USP detalham o raciocínio formal por trás dessa contagem, e outros documentos acadêmicos trazem variações do mesmo método aplicadas a tabelas.
Os detalhes que quebram a busca binária
- Vetor não ordenado: o método simplesmente devolve resposta errada, sem erro aparente.
- Cálculo do meio: use divisão inteira. Índice fracionário não existe.
- Atualização dos limites: esqueça de somar ou subtrair uma unidade e o laço nunca termina.
- Condição de parada: o laço continua enquanto o limite inferior for menor ou igual ao superior.
- Elemento ausente: defina um retorno claro, como menos um, para indicar que não foi encontrado.
Como testar o seu vetor antes de entregar
Um exercício de vetor passa em qualquer teste feito com números bonitos e falha no caso limite. Use sempre este conjunto:
- Vetor já ordenado, para ver se o algoritmo encerra cedo.
- Vetor em ordem inversa, o pior caso da bolha.
- Vetor com elementos repetidos, que costuma expor comparação com sinal errado.
- Vetor com um único elemento, que deve funcionar sem entrar no laço de troca.
- Busca por um valor inexistente, por um valor na primeira posição e por um na última.
Fazer isso na tabela de teste de mesa, com um vetor de cinco posições, encontra praticamente todos os erros de índice. Explicações em vídeo como a Lógica de Programação do Curso em Vídeo e as aulas do professor Guanabara são úteis para comparar a sua solução com outra abordagem depois de tentar sozinho. Discussões de exercícios em plataformas como o Brainly também ajudam a ver variações do mesmo enunciado, e vale conferir mais de uma resposta no Brainly antes de adotar qualquer solução pronta.
Quando não escrever a ordenação você mesmo
No exercício, escrever é o objetivo. Fora dele, praticamente toda linguagem já traz uma função de ordenação pronta, mais rápida e testada do que qualquer implementação manual. Entender bolha e seleção serve para saber o que acontece por baixo, escolher a estratégia certa e reconhecer quando o custo de ordenar não compensa o número de buscas que você vai fazer.
Perguntas frequentes
Por que preciso de uma variável auxiliar para trocar valores?
Porque atribuir um elemento ao outro sobrescreve o valor original. A auxiliar guarda a cópia até que a segunda atribuição seja feita.
Qual método devo usar na prova?
Se o enunciado não especifica, a bolha costuma ser aceita por ser a mais simples de justificar. A seleção é preferível quando o exercício pede o menor número de trocas.
A busca binária funciona em vetor com repetidos?
Funciona, mas encontra uma ocorrência qualquer, não necessariamente a primeira. Para achar a primeira, é preciso continuar deslocando o limite superior após um acerto.
Índice começa em zero ou em um?
Depende da convenção adotada. Em pseudocódigo escolar costuma começar em um; na maioria das linguagens, em zero. Defina no início e mantenha.
Ordenar sempre vale a pena antes de buscar?
Só quando haverá muitas buscas no mesmo vetor. Para uma consulta única em vetor desordenado, a busca linear sai mais barata.
Como ordenar em ordem decrescente?
Basta inverter o sinal da comparação. A estrutura do laço e a troca permanecem idênticas.
O que levar dessa leitura
Escrever um algoritmo de ordenação de vetor em pseudocódigo se reduz a três peças: a troca com variável auxiliar, o laço que reduz a área de trabalho a cada passagem e a condição que encerra assim que não há mais desordem. Com o vetor ordenado, a busca binária transforma centenas de comparações em poucas. Teste sempre com vetor invertido, com repetidos e com um só elemento, porque é nesses casos que os erros de índice aparecem.










