

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 sequenciais.
Tipologia: Exercícios
1 / 2
Esta página não é visível na pré-visualização
Não perca as partes importantes!


Aluno :
Pilha Sequencial
Implemente um TAD Pilha (com representação seqüencial) em uma biblioteca chamada Stack.C usando o “char” como tipo. Adicione nesta biblioteca, todas as operações básicas de pilhas vistas em sala de aula.
Faça um programa que manipule uma pilha utilizando as seguintes opções de um menu :
Editor de Pilha v1. ================ 1- Inicializar 2- Empilhar 3- Desempilhar 4- Elemento do topo 5- Imprimir pilha 6- Inverter elementos da pilha 7- Esvaziar a pilha 8- Mudar de pilha
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. Permita que seja manipulado no máximo 3 pilhas. A primeira pilha a ser utilizada pelo usuário é a pilha 1. Quando a opção de mudar pilha for selecionada, forneça a possibilidade do usuário escolher a pilha de interesse, mas lembre-se que o programa só vai trabalhar com 4 pilhas. Se a pilha 2 for escolhida, todas as operações do menu devem ser realizadas na pilha 2 , e assim por diante. Implemente as seguintes operações:
void esvaziarPilha( pilha *p ); void imprimirPilha( pilha p ); int inverte( pilha *p ); Utilize as operações básicas sobre pilhas para implementar a função de inverter os elementos da pilha.
Sem conhecer a representação interna desse tipo abstrato Pilha e usando apenas as funções declaradas no arquivo pilha.h, implemente uma função que receba uma pilha como parâmetro e retorne o valor armazenado em seu topo, sem remover este valor da pilha. Essa função deve obedecer o protótipo:
Sem conhecer a representação interna desse tipo abstrato Pilha e usando apenas as funções declaradas no arquivo pilha.h, implemente uma função que receba duas pilhas, p1 e p2, e passe todos os elementos da pilha p2 para o topo da pilha p1. A figura a seguir ilustra essa concatenação de pilhas:
Note que ao final dessa função, a pilha p2 vai estar vazia e a pilha p1 conterá todos os elementos das duas pilhas. Essa função deve obedecer o seguinte protótipo:
Dica: Essa função pode ser implementada com mais facilidade através de uma variável auxiliar do tipo pilha para fazer a transferência dos elementos entre as duas pilhas.
Escreva um programa que receba uma linha de texto e use uma pilha para exibir a linha invertida.
Escreva um programa que use uma pilha para determinar se uma string é um palíndromo, isto é, se tem a mesma leitura no sentido normal e no sentido inverso. O programa deve ignorar espaços em branco, pontuação e caracteres especiais (-, *, ).