Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estrutura de Dados, Pesquisa e Ordenação IFSP – São Carlos Lista de Exercícios sobre Lista Cadastral 1. Implementar as operações do TAD Lista cadastral armazenando os dados em ordem crescente e utilizando as seguintes assinaturas de funções: int estaNaLista(lista *l, int x); void insere(lista *l, int x, int *ok); void retira(lista *l, int *x, int *ok); int vazia(lista *l); int cheia(lista *l); void cria(lista *l); void pegaOPrimeiro(lista *l, int *x, int *temElemento); void pegaOProximo(lista *l, int *x, int *temElemento); 1a. Implemente as operações do TAD Lista cadastral conforme o exercício anterior, porém, agora, cadas informação deverá ser um elemento do tipo: struct people{ char nome[30]; int idade; char rg[20]; }; typedef struct people pessoa; 2. Implemente a Lista Cadastral utilizando uma lista encadeada NÃO ordenada, ou seja, não necessariamente em ordem alfabética. 3. Implemente uma lista ordenada com elementos repetidos. 4. Como seria possível implementar um Cadastro usando alocação seqüencial? Aponte vantagens e desvantagens da alocação encadeada para a implementação de uma estrutura de armazenamento temporário do tipo Cadastro. 5. Implemente uma operação para remover todas as ocorrências de X dada uma lista L que pode conter elementos repetidos. 6. Utilizando PegaOPrimeiro e PegaOUltimo, e os demais operadores primitivos de uma lista (Cria, Vazia, EstáNaLista?, Insere e Elimina), proponha soluções para: Seja uma lista L e um inteiro N, implemente uma rotina para pegar o valor do n-ésimo elemento da lista L, caso exista. Dadas duas listas L1 e L2, implemente a operação UNION, que cria uma terceira lista L3 com a união entre as duas listas, ou seja, um conjunto com todos os elementos de L1, todos os de L2, mas sem repetições. Dadas duas listas L1 e L2, sem elementos repetidos, implemente a operação INTER, que cria uma terceira lista L3 com a intersecção entre as duas listas, também sem elementos repetidos. Implemente uma função para verificar se duas listas L1 e L2 são iguais.
Compartilhar