Módulo 4 - Listas ligadas: a corrente de nós

O nó e a ligação: a corrente de dados

8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 12/07/2026

Velocidade

O que você vai aprender

  • Entender o nó como um valor mais a ligação para o próximo.
  • Enxergar a lista ligada como uma corrente de nós amarrados.
  • Identificar a cabeça da lista como o ponto de entrada.
  • Perceber que o acesso é sequencial, seguindo as ligações.

O que é um nó

Até agora, quando você precisava guardar uma sequência de valores, usava o vetor: as casas ficam encostadas na memória e cada uma tem um número, o índice. A lista ligada resolve o mesmo problema por um caminho oposto. Em vez de encostar os valores, ela os espalha pela memória e amarra um no outro. A peça que faz essa amarração é o nó. Cada nó carrega duas informações: o valor propriamente dito e uma ligação, que é a referência apontando para onde está o próximo nó. Pense num trem: cada vagão transporta uma carga (o valor) e tem um engate que o prende ao vagão seguinte (a ligação). Nenhum vagão sabe onde estão os outros; ele só sabe qual é o próximo.

Essa corrente precisa de um começo, e esse começo é a cabeça da lista. A cabeça é apenas uma referência que aponta para o primeiro nó. É o fio da meada: segurando a cabeça, você alcança o primeiro nó; a ligação dele leva ao segundo; a ligação do segundo leva ao terceiro, e assim por diante, até um nó cuja ligação aponta para o nada, o sinal de que a lista acabou. Repare na consequência: você não tem como pular direto para o meio. Para chegar ao quinto valor, precisa passar pelos quatro anteriores, um a um. É o preço de espalhar os dados em vez de enfileirá-los.

Uma corrente horizontal de quatro nós, cada um desenhado como uma caixa dividida em duas partes: à esquerda o valor (10, 20, 30, 40) e à direita a ligação, representada por uma seta que aponta para o próximo nó. A palavra cabeça, com uma seta, aponta para o primeiro nó. A ligação do último nó aponta para um símbolo de nada, indicando o fim da lista.
Cada nó tem valor mais ligação. A cabeça aponta para o primeiro; o último aponta para o nada.

Percorrer é seguir a corrente

Como não existe índice, percorrer uma lista ligada é caminhar de nó em nó. Você começa na cabeça, olha o valor daquele nó, pula para o próximo pela ligação e repete, até cair no nada. É um laço, mas guiado pela ligação, não por um contador que vai de 0 até o tamanho. A variável que aponta para o nó da vez costuma se chamar atual: ela começa na cabeça e, a cada volta, avança para atual.proximo. O laço para quando atual vira o nada. Esse padrão de andar pela corrente é a base de quase tudo que se faz com lista ligada: buscar um valor, contar os nós, imprimir todos.

// percorrer a lista, imprimindo cada valor
atual <- cabeca
enquanto atual != nada faca
  escreva(atual.valor)
  atual <- atual.proximo   // pula para o proximo no
fim
// para a lista 10 -> 20 -> 30, imprime 10, 20 e 30

Comeca na cabeça e avança pela ligação (atual.proximo) até bater no nada. Sem índice, só a corrente.

🎮 Jogo da aula

Verdadeiro ou falso: nós e ligações

Decida se cada afirmação sobre a lista ligada é verdadeira ou falsa.

Por que espalhar os dados

Espalhar os valores em vez de enfileirá-los parece só complicar, mas resolve um problema real do vetor. O vetor precisa de um bloco contínuo de memória: dez casas encostadas, todas reservadas de uma vez. Se a lista cresce além do reservado, muitas vezes é preciso copiar tudo para um bloco maior. A lista ligada não pede bloco contínuo: cada nó pode morar em qualquer canto livre da memória, porque a ligação é que amarra a ordem, não a posição física. Crescer é só criar mais um nó e engatá-lo. Essa flexibilidade tem um custo, o acesso sequencial, e é essa troca que as próximas aulas exploram a fundo.

Teste rápido

Para que serve a cabeça de uma lista ligada?

Perguntas frequentes

Qual a diferença entre um nó e um valor?
O valor é só o dado (o número 20, o nome Ana). O nó é a caixa que embrulha esse valor e ainda guarda a ligação para o próximo nó. Sem a ligação, seria só um valor solto; é a ligação que transforma valores espalhados numa lista ordenada.
O que é essa ligação, na prática?
É uma referência: a informação de onde encontrar o próximo nó na memória. Nas linguagens reais, isso aparece como um ponteiro ou uma referência de objeto. No pseudocódigo pensamos como uma seta: o nó A tem uma ligação que aponta para o nó B.
Por que não posso acessar direto o terceiro elemento?
Porque os nós não têm índice nem posição física fixa. A única forma de chegar ao terceiro é começar na cabeça e seguir duas ligações. Esse acesso sequencial é a principal limitação da lista ligada frente ao vetor, e o tema da terceira aula.
O que acontece se a lista estiver vazia?
A cabeça aponta direto para o nada. Não há nenhum nó. Qualquer operação precisa checar esse caso antes: se a cabeça é o nada, a lista está vazia, e inserir o primeiro elemento vira apenas fazer a cabeça apontar para o novo nó.
Isso existe nas linguagens de verdade?
Existe. Muitas bibliotecas trazem listas ligadas prontas, como a LinkedList do Java e a deque do Python (que usa listas ligadas por dentro). Você raramente monta uma do zero no dia a dia, mas entender como funciona explica por que certas operações são baratas e outras caras.
Lista ligada e a lista do curso básico são a mesma coisa?
Não necessariamente. A palavra lista, em Python por exemplo, costuma ser um vetor por dentro (acesso rápido por índice). A lista ligada é uma estrutura específica, feita de nós amarrados por ligações. São ideias diferentes que dividem o nome lista, e este módulo trata da versão ligada.

Fontes

Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.