Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista 9 – Listas Duplamente Encadeadas Para os exercícios a seguir, considere : struct nodupla { int dado; struct nodupla *dlink; // link p/ o nó à direita struct nodupla *elink; // link p/ o nó à esquerda }; 1) Faça um programa (aplicação) em C++ para ler a quantidade n de nós de uma lista duplamente encadeada de reais, sendo n ≥ 0. A lista deverá ser construída com n nós, através de sucessivas inserções no início. Após sua criação, a lista deverá ser impressa, se possível. Emita mensagem de erro em caso de lista vazia. Defina o tipo nodupla para reais. Nesta questão, implemente 2 funções (operações) : a) nodupla *insereFrente(nodupla *p, int valor); p aponta para o primeiro nó da lista e valor é o elemento a ser inserido no início da lista. b) void imprime(nodupla *p); onde p aponta para o 1º. nó da lista (i.e., nó mais à esquerda na lista). A lista deverá ser impressa da esquerda para a direita. 2) Faça um programa (aplicação) em C++ para construir uma lista duplamente encadeada (não circular) de inteiros positivos, através de sucessivas inserções no fim da lista. Após sua criação, a lista deverá ser impressa e ter sua quantidade de nós também impressa. Emita mensagem de erro em caso de lista vazia. Nesta questão, implemente 3 funções (operações) : a) nodupla *insereFim(nodupla *p, int valor); p aponta para o primeiro nó da lista e valor é o elemento a ser inserido no início da lista. b) void imprime(nodupla *p); c) int contaNos(nodupla *p);
Compartilhar