Baixe o app para aproveitar ainda mais
Prévia do material em texto
IBILCE UNESP Departamento de Ciências de Computação e Estatística Disciplina Estrutura de Dados Curso Bacharelado em Ciências da Computação Profa. Dra. Inês Ap.Gasparotto Boaventura Lista de Exercícios sobre Listas Encadeadas Exercícios sobre Listas Encadeadas 9. Suponha uma nova forma de representar uma lista ligada onde é mantido um nó chamado cabeça da lista. O valor do campo de informação desse nó não faz parte da lista, e seu campo próximo aponta para o primeiro elemento da lista. O nó cabeça é chamado de sentinela e evita o caso de uma lista vazia. Assuma uma lista ligada de números inteiros usando essa estrutura: Nolista<int> *header (a)Escreva uma função para inserir um nó no início da lista. (b)Escreva uma função para remover o nó do início da lista. 10. Escreva a função Template <class T> Intint Nolista<T> contelem(nolista<T> *p); Que conta a número de vezes que o elemento ocorre na lista 11. Considere uma lista L de números inteiros. Escreva uma função Void OddEven(lista<int>*L, lista<int>* L1, lista<int>*L2); que dado a lista L, cria duas novas listas L1 e L2 , onde L1 contém os nós pares de L e L2 contém os nós ímpares de L. 12. Uma lista circular pode ser definida da seguinte forma onde é a representação de lista vazia Defina e implemente a classe nocirc , e defina a classe listacir, com funções para inserir elementos em uma lista circular ordenada, remover elementos da lista circular, verificar se a lista está vazia, e Imprimir a lista circular. Cabeça 3 5 8 5 8 10 L L 13. Use a classe nocirc do exercício anterior e desenvolva uma implementação da classe lista, conforme ilustração abaixo. Declare um nó cabeça como um elemento private da classe e realize inserções e remoções como segue: insert: inserir após o nó final da lista. delete: Remover após o nó cabeça. Verificar para não remover elementos de uma lista vazia. 14. Pode-se implementar a classe conjunto com elementos do tipo T armazenando elementos de dados únicos em uma lista encadeada. Implemente as duas funções: Template <class T> Lista<T> uniao(Lista<T> *x, Lista<T>, Lista<T> *y); Template <class T> Lista<T>interseccao(Lista<T> *x, Lista<T> *y); 15. Um polinômio de grau n é uma expressão da forma: F(x) = anxN+an-1xn-1+ ... + a1x1+a0x0, onde os termos ai são chamados de coeficiente. Utilize a classe lista encadeada para resolver esse exercício onde os nós dessa lista deverá conter informações referentes ao coeficiente e ao expoente de X para cada termo. Struct Term { Double coef; Int expoente; } O programa deverá ler um polinômio como uma série de pares de coeficientes e expoentes. Armazene cada par coeficiente/ expoente em uma lista encadeada ordenada pelo expoente. Escreva uma função que avalia o polinômio no ponto x e retorna o resultado dessa avaliação. Double poli(lista<Term> *p); Lista Vazia início final início final
Compartilhar