Baixe o app para aproveitar ainda mais
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.
Compartilhar