Buscar

05_ListaCadastral

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Outros materiais