Módulo 4 - Listas ligadas: a corrente de nós
Inserir e remover: só religar ponteiros
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 12/07/2026
O que você vai aprender
- Inserir um nó no meio religando duas ligações.
- Remover um nó ligando o anterior direto ao seguinte.
- Entender por que a lista não precisa empurrar os outros nós.
- Respeitar a ordem correta ao religar, para não perder nós.
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: Inserir e remover: só religar ponteiros.
Os objetivos desta aula. Inserir um nó no meio religando duas ligações. Remover um nó ligando o anterior direto ao seguinte. Entender por que a lista não precisa empurrar os outros nós. Respeitar a ordem correta ao religar, para não perder nós.
Veja o essencial, parte por parte.
O custo de empurrar no vetor. Inserir no meio de um vetor empurra todos os elementos seguintes uma casa à frente.
Religar em dois passos. Na lista ligada, esse empurra-empurra some.
Por que isso é barato. Apontar o anterior para o novo antes de o novo apontar para o seguinte faz você perder o resto da lista.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
O custo de empurrar no vetor
Imagine uma fila de dez pessoas e alguém que precisa entrar entre a terceira e a quarta. Num vetor, as posições são fixas e encostadas, então não há espaço vago no meio: para abrir a vaga, todo mundo da quarta em diante precisa dar um passo à frente. Se a fila tivesse mil pessoas e o novato entrasse no começo, quase mil teriam que se deslocar. Remover é o mesmo drama ao contrário: quando alguém sai do meio, todos atrás dele puxam um passo para trás, para não deixar buraco. Esse empurra-empurra é o custo que o vetor paga por manter tudo encostado e acessível por índice.
Religar em dois passos
Na lista ligada, esse empurra-empurra some. Para inserir um novo nó entre dois nós existentes, digamos entre A e C, você não move ninguém: só ajusta duas ligações. Primeiro, faz a ligação do novo nó apontar para C (o seguinte). Depois, faz a ligação de A apontar para o novo nó. Pronto: A aponta para o novo, o novo aponta para C, e a corrente segue inteira. A ordem desses dois passos é crítica. Se você religar A para o novo primeiro, perde a referência de C, porque era a ligação de A que guardava onde C estava. Por isso a regra é: primeiro prenda o novo nó no resto da corrente, depois solte o anterior nele.
// inserir o no "novo" depois do no "anterior"
// 1) o novo aponta para quem vinha depois do anterior
novo.proximo <- anterior.proximo
// 2) so agora o anterior aponta para o novo
anterior.proximo <- novo
// remover o no depois do anterior:
anterior.proximo <- anterior.proximo.proximo // pula o no removidoInserir: religa duas setas na ordem certa. Remover: liga o anterior direto ao seguinte, pulando o nó.
🎮 Jogo da aula
A ordem de inserir um nó
Coloque os passos na ordem correta para inserir um novo nó entre A e C sem perder nenhum nó da corrente.
Por que isso é barato
A grande sacada é que religar custa sempre a mesma coisa, não importa o tamanho da lista. Inserir num vetor de mil elementos pode empurrar centenas deles; inserir numa lista ligada de mil elementos mexe em duas ligações, exatamente como numa lista de cinco. O trabalho não cresce com a lista. Existe uma pegadinha honesta: para religar você precisa já estar posicionado no nó anterior, e chegar até ele custa o passeio pela corrente. Ou seja, a religação em si é instantânea, mas achar o ponto certo é sequencial. Quando você já tem em mãos o nó anterior, como acontece ao percorrer a lista de uma vez, a inserção e a remoção são de fato baratíssimas.
Teste rápido
Por que inserir um nó no meio de uma lista ligada não precisa empurrar os outros nós, como no vetor?
Perguntas frequentes
- Por que a ordem dos dois passos importa tanto?
- Porque a ligação do nó anterior é o único caminho conhecido para o resto da lista. Se você a redireciona para o novo nó antes de o novo nó apontar para o seguinte, perde a referência de tudo que vinha depois. Primeiro prenda o novo à corrente, depois solte o anterior nele.
- Como removo um nó da lista ligada?
- Você faz a ligação do nó anterior apontar direto para o nó seguinte, pulando o que quer remover. O nó removido some da corrente porque ninguém mais aponta para ele. Como em inserir, você precisa estar posicionado no nó anterior ao que será removido.
- Se religar é barato, por que a lista ligada nem sempre ganha?
- Porque chegar até o ponto de inserção pode ser caro. A religação em si é instantânea, mas percorrer a corrente até o nó anterior é sequencial. Se você precisa buscar a posição toda vez, essa busca pesa. A vantagem brilha quando você já está no ponto certo.
- E se eu quiser inserir no começo da lista?
- Aí é ainda mais simples: o novo nó aponta para a antiga cabeça, e a cabeça passa a ser o novo nó. Dois ajustes e pronto, sem percorrer nada. Inserir no começo de uma lista ligada é uma das operações mais rápidas que existem.
- Inserir no fim também é barato?
- Depende. Se você só tem a cabeça, precisa percorrer até o último nó para religá-lo, o que é sequencial. Muitas implementações guardam também uma referência para a cauda (o último nó) justamente para inserir no fim sem percorrer a lista toda.
- O que é um nó órfão?
- É um nó que ninguém mais aponta, porque sua ligação de entrada foi religada sem cuidado. Ele fica inacessível e vira lixo na memória. Guardar as referências certas antes de religar, na ordem correta, evita deixar nós órfãos por engano.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.