Percursos
/
Nim
Nim
/
Exercícios
/
Lista ligada
Lista ligada

Lista ligada

Médio

Instruções

Implementa uma lista duplamente ligada.

Tal como um array, uma lista ligada é uma estrutura de dados linear simples. Vários tipos de dados comuns podem ser implementados com listas ligadas, como filas, pilhas e arrays associativos.

Uma lista ligada é uma coleção de elementos de dados chamados nós. Numa lista simplesmente ligada, cada nó tem um valor e uma ligação para o nó seguinte. Numa lista duplamente ligada, cada nó tem também uma ligação para o nó anterior.

Vais escrever uma implementação de uma lista duplamente ligada. Implementa um Node para guardar um valor e ponteiros para o nó seguinte e para o nó anterior. Depois implementa uma List que guarda referências ao primeiro e ao último nó e oferece uma interface semelhante a um array para adicionar e remover itens:

  • push (insere um valor no fim);
  • pop (remove um valor no fim);
  • shift (remove um valor no início).
  • unshift (insere um valor no início);

Para manteres a tua implementação simples, os testes não vão cobrir condições de erro. Em concreto: nunca vais chamar pop ou shift numa lista vazia.

Lê mais sobre listas ligadas na Wikipédia.


Fonte

Tópico clássico da informática
Editar via GitHub A ligação abre numa nova janela ou separador
Nim Exercism

Estás pronto para começar Lista ligada?

Inscreve-te no Exercism para aprenderes e dominares Nim com 70 exercícios, e mentoria humana real, tudo grátis.