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