Listas circulares com ligações simples
Listas circulares com ligações duplas
Listas circulares
- Listar os elementos de uma lista ligada (da cabeça para a cauda):
- Agora, todas as travessias,
- em vez de
“while (P != NULL) … “
- passam a ser da forma
“while (P != Head) … “
Listas circulares
- Listar os elementos de uma lista ligada (desde a cabeça):
- Problema:
- na entrada no ciclo (inicialmente P = Head),
- não funciona para o caso de listas vazias.
Listas circulares - Solução 1
- aplicar este processo apenas a listas não vazias (implica verificação prévia), e
- passar a condição de paragem para o final do ciclo (alterar o ciclo a aplicar):
- de “while …”
- para “do … while”.
- função para listar uma lista não vazia:
Listas circulares – Solução 2
- Inserir um nodo auxiliar (Base) na cabeça da lista
- Lista com ligações simples:
- Lista com ligações duplas:
Listas circulares – Solução 2
- Listar os elementos da lista circular com Base
- Lista vazia
Simples
Duplas
Listas circulares – Solução 3
- Em vez de
- guardar a cabeça da lista - Head,
- guardar a cauda - Tail.
- Lista com ligações simples
- Listar os elementos duma lista circular com ponteiro para a cauda
Download

Listas circulares com ligações simples