

Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Lista de exercícios de Estrutura de Dados sobre pilhas encadeadas.
Tipologia: Exercícios
1 / 2
Esta página não é visível na pré-visualização
Não perca as partes importantes!


Estrutura de Dados I Prof: Alex Sandro C. Rêgo
Disciplina : Estrutura de Dados Professor : Alex Sandro da C. Rêgo URL : www.alex.buscapb.com.br/ed
Aluno :
**Observações: *** O trabalho deverá ser entregue em disquete ou por e-mail: [email protected]
**Objetivo: *** Implementar uma pilha dinâmica (simplesmente encadeada) e suas principais operações
// Definicao de um no da pilha typedef struct stnopilha{ char dado[5]; // informacao do no struct stnopilha* prox; // ponteiro para o proximo no } no;
typedef no* pilha;
void criapilha(pilha *p); int pilhavazia(pilha p); int empilha(pilha *p, char *valor); int desempilha(pilha *p, char *valor); int elementotopo(pilha p, char *valor); int imprime(pilha p); int tamanho(pilha p);
Dicas: Considere a pilha como uma lista simplesmente encadeada em que toda a operação de empilhamento faça com que seja criado um nó no início da pilha. Portanto, a pilha sempre vai apontar para o elemento do topo. Lembre-se que toda a operação de desempilhamento também é realizada através do topo. Observe a ilustração:
Implemente uma função pilha criaNodo()* para criar um nodo com alocação dinâmica. Ao invés de ficar sempre repetindo a instrução de malloc(), criaNodo() será sempre chamada para fazer esse papel.
int subTopo(pilha p, char *valor);
Estrutura de Dados I Prof: Alex Sandro C. Rêgo
int desempilhaN(pilha p);
void esvaziar(pilha *p);
int base(pilha p);
Editor de Pilha v2. ================ 1- Inicializar 2- Empilhar 3- Desempilhar 4- Elemento do topo 5- Imprimir pilha 6- Esvaziar a pilha 7- Base da pilha 8- Tamanho da pilha 9- Desempilha N elementos 10- Mostrar sub-topo
Digite sua opção: [ ]
Observações: O programa deve fazer o tratamento para todas as operações de uma pilha. Não deixe que o usuário tente empilhar algum elemento sem que a pilha tenha sido inicializada; Mostre mensagens quando algum alerta de pilha vazia ou cheia for emitido; Ao exibir o elemento do topo, não desempilhe o conteúdo da pilha!!!! Ao desempilhar um elemento da pilha, mostre o valor que estava no topo. O programa deve ser de fácil utilização (Mostre sempre as mensagens para que o usuário saiba o que deve ser feito).