Estrutura de Dados Dinâmica
Por: Jonas Henrique • 14/5/2018 • Trabalho acadêmico • 549 Palavras (3 Páginas) • 182 Visualizações
ANEXO I
___________________________________________________________________________
Exercícios Extras
Exercício UM : Escreva um Programa Completo, em Linguagem C, para executar as atividades abaixo relacionadas :
- Ler dados conforme abaixo e armazenar em uma Estrutura de Dados dinâmica, definida convenientemente :
Dados do Cão
Matrícula do Cão
Nome do Cão
Data de Nascimento
Raça
Ano de registro
Os dados devem ser armazenados, utilizando-se duas estrutura de dados de tipos diferentes, conforme ilustrado a seguir :
Tipo A
Dados do Cão | Próximo Cão |
Próximo Cão Parente |
Tipo B
Dados do Cão Parente | Próximo Cão Parente |
Tais estruturas serão organizadas conforme abaixo :
[pic 1][pic 2][pic 3][pic 4][pic 5][pic 6][pic 7]
[pic 8][pic 9][pic 10][pic 11][pic 12][pic 13][pic 14][pic 15][pic 16][pic 17]
- O Programa Completo deve constar de várias funções. Por exemplo :
- Uma Função para Reservar, dinamicamente, memória para uma estrutura do Tipo A (Cão Mestre).
- Uma Função para Reservar, dinamicamente, memória para uma estrutura do Tipo B (Cão Parente). Esta estrutura é representada por uma "fila de prioridade ascendente", isto é, os nós podem ser inseridos numa ordem qualquer, mas apenas o nó que representa ao cão mais velho existente nessa fila pode ser removido.
- Uma Função para Inserir um novo Cão Mestre na lista encadeada (A).
- Uma Função para Inserir um novo Cão Parente na fila de prioridade (B).
- Uma Função para Remover a estrutura que contém os dados de um certo Cão Mestre (A) da lista. Neste caso, o Cão Parente (B) de maior prioridade deverá tomar o seu lugar.
- Uma Função para Remover a estrutura que contém os dados de um certo Cão Parente (B), com base no critério de prioridade ascendente.
- Outras funções que considerar necessárias nas operações de manutenção da estrutura, como por exemplo, uma para busca do cão parente de maior prioridade.
- Executar ainda as seguintes atividades de pesquisa sobre a estrutura da Figura 1:
- Pesquisar e listar o Cão Mestre mais velho na lista encadeada (A).
- Pesquisar e listar o Cão Parente de maior prioridade.
- Pesquisar e listar os parentes do Cão Mestre de Matrícula X, enfileirados.
- Listar todos os dados da estrutura da Figura 1, de forma organizada.
- Crie um MENU de opções e ofereça-o ao usuário, que poderá escolher a opção associada à execução da tarefa desejada.
- Obviamente, por ser uma lista encadeada simples a estrutura (A) não possui restrições para inserção e retiradas de nós. Entretanto, a lista encadeada (B) é uma FILA de PRIORIDADE ASCENDENTE, e apenas o nó que contém o registro de maior prioridade deve ser retirado.
IMPORTANTE : NÃO USE VARIÁVEIS GLOBAIS. APROVEITE PARA FAZER UMA REVISÃO GERAL DA LINGUAGEM C. INOVE. CAPRICHE.
...