Buscar

Pilha e Fila Dinâmicas em C++

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

Prévia do material em texto

Lista 8 - Pilha e Fila dinâmicas 
 
 
 
Para as questões 1 e 2, considere o tipo : 
 
struct no { 
 int dado; 
 struct no *link; 
}; 
 
Pilha 
 
1) Faça um programa em C++ com listas simplesmente encadeadas de inteiros, em 
que seja solicitada uma quantidade n de nós para a lista. Note que n deve ser um 
número maior ou igual a zero. 
 
 Após esta entrada, faça o que se pede: 
 
a) Empilhe n números inteiros positivos. 
 
 Protótipo da função : no* empilhar(no *, int ); 
 Parâmetros : Ponteiro para o início da lista e o valor inteiro a ser inserido 
 Retorno : Ponteiro para o início da lista (topo da pilha) 
 
 
b) Desempilhe todos os elementos, imprimindo apenas os valores pares. 
 
 
 Protótipo da função : int desempilhar(no * & ); 
 Parâmetros : Ponteiro para o início da lista 
 Retorno : o número inteiro desempilhado 
 
 
 
Fila 
 
2) Faça um programa em C++ para criar uma fila dinâmica de inteiros positivos, 
através de sucessivas inserções ou enfileiramentos. Ao ser digitado um valor 
negativo ou nulo, a criação da fila deverá ser encerrada. Não esqueça de tratar fila 
vazia. 
 
 Após a criação da fila, faça o que se pede : 
 
a) Imprima na tela os dados da fila. 
b) Desenfileire um valor, apresentando-o na tela, após a mensagem “Elemento 
desenfileirado “. 
c) Conte o número de dados da fila. 
d) Desenfileire tudo, apresentando na tela apenas os dados ímpares.

Outros materiais