UPE – Universidade de Pernambuco
FACITEC – Faculdade de Ciência e Tecnologia de Caruaru
Curso: Sistemas de Informação
Disciplina: Estrutura de Dados e Arquivo
Prof.: Paulemir G. Campos
Caruaru, 25 de setembro de 2015.
1° Trabalho de Implementação
1. Implemente em C ou C++ um programa para construir uma lista encadeada dupla cuja
estrutura do nó é a seguinte:
typedef struct no{
int dado;
struct no *anterior,*proximo;
} tListaDupla;
Este programa deve ter as seguintes funcionalidades:
- Informar se essa lista está ou não vazia;
- Ter uma opção para criar uma lista unitária desse tipo apenas se a mesma estiver
vazia;
- Permitir a inserção de números inteiros inéditos, de modo que essa lista fique em
ordem crescente e seja mantida sua estrutura duplamente encadeada;
- Possibilitar a remoção de qualquer número dessa lista, sem desordená-la ou alterar
sua estrutura duplamente encadeada;
- Possuir uma opção para pesquisar um número inteiro nessa lista e informar se o
mesmo foi ou não encontrado;
- Ter uma opção para exibir uma listagem dos números dessa lista em ordem
crescente e uma outra opção para listar esses mesmos números em ordem
decrescente;
- Por fim, mostrar uma opção para finalizar o programa, de modo que antes dessa
finalização a lista encadeada dupla seja destruída, mencionando inclusive a
quantidade de nós liberados.
2. Elabore um outro programa também em C ou C++ usando uma lista simplesmente
encadeada para criar e manipular uma pilha de números inteiros cuja estrutura do nó é
mostrada abaixo:
typedef struct no{
int dado;
struct no *proximo;
} tPilhaSimples;
Este programa deve ter opções para testar se a pilha está vazia, criar uma pilha unitária
apenas se a mesma estiver vazia, empilhar números, desempilhar números (desde que a pilha
não esteja vazia), mostrar os elementos em forma de pilha e permitir finalizar o programa
liberando antes as posições de memória alocadas dinamicamente mostrando a quantidade de
nós excluídos.
1/ 2
3. Desenvolva mais um programa em C ou C++ usando uma lista simplesmente encadeada
para criar e manipular uma fila de números inteiros cuja estrutura do nó é mostrada abaixo:
typedef struct no{
int dado;
struct no *proximo;
} tFilaSimples;
Este programa deve ter opções para testar se a fila está vazia, criar uma fila unitária apenas
se a mesma estiver vazia, enfileirar números, desenfileirar números (desde que a fila não
esteja vazia), mostrar os elementos conforme dispostos na fila e permitir finalizar o
programa liberando antes as posições de memória alocadas dinamicamente mostrando a
quantidade de nós excluídos.
ATENÇÃO:
Utilizar alocação dinâmica de memória na resolução das questões deste trabalho.
Fornecer o código fonte com comentários e o código executável, em conformidade com cada
questão.
Este trabalho poderá ser realizado em equipe, com no máximo quatro integrantes.
Data limite para entrega: 06/10/2015
E-mail para entrega: [email protected]
2/ 2
Download

Aula Prática de Software de Apresentação - pgc-upe