Exercícios com listas.
/*********************************************** existeLista - Testa se objeto ocorre na lista Parametros: l - lista; a - objeto Retorno: true - se ocorre; false - se nao Precondicao: a != NULL ***********************************************/ bool existeLista(lista l, obj a); /*********************************************** depoisLista - Acrescenta b depois de cada a. Parametros: l - lista; a, b - objetos Retorno: lista modificada Precondicao: a != NULL && b != NULL ***********************************************/ lista depoisLista(lista l, obj a, obj b); /*********************************************** antesLista - Acrescenta a antes de cada b. Parametros: l - lista; a, b - objetos Retorno: lista modificada Precondicao: a != NULL && b != NULL ***********************************************/ lista antesLista(lista l, obj a, obj b);Trata-se duma pequena experiência e por isso escrevemos o programa todo num único ficheiro. Está aqui um ponto de partida: MainAntesDepoisLista.c.
Vai precisar de incluir a biblioteca no seu projeto.
Para programar uma função complicada que percorre uma lista, eis uma metodologia que funciona:
for( ; l != NULL ; l = l->seg)
Nas aulas teóricas implementámos o TAD Dicionario usando vetores, no ficheiro "DicionarioVetor.c". Também implementámos o TAD Pilha usando listas, no ficheiro "PilhaLista.c", e implementámos o TAD Fila usando listas, no ficheiro "FilaLista.c".
Agora queremos que você implemente o TAD Dicionario usando listas, num ficheiro "DicionarioLista.c".
Está aqui um ponto de partida: DicionarioLista.c.
O programa principal já está feito e resume-se a isto: MainDicionarioLista.c.
Relembre o conceito de dicionário e o conceito de chave. Os dicionários têm uma interface mais simples do que as sequências. As operações essenciais são: testar existência, obter elemento, adicionar e remover.
Internamente a implementação precisa de usar pares (chave, elemento). Para acrescentar elementos novos, acrescente na cabeça da lista. A operação de remoção é a mais complicada.