Exercícios sobre lista encadeada
1. Adaptar o programa da 1º questão do exercício sobre lista seqüencial para trabalhar com a lista encadeada vista em sala.
2. Modificar a lista encadeada vista em sala para não aceitar chaves duplicadas.
3. Criar um método para remover de uma lista encadeada os itens com chaves duplicadas, mantendo apenas a primeira ocorrência na lista.
4. Escreva um método para ordenar uma lista encadeada. O método deve procurar o item com a maior chave e inserir em no início de uma lista temporária. Quando a ordenação estiver concluída, desvia-se o apontador para a cabeça para a cabeça da lista temporária.
5. Modificar a lista encadeada vista em sala de forma que a inserção seja feita na cauda da lista. Para agilizar, mantenha um apontador para a cauda da lista. Lembre-se de atualizá-lo quando um novo elemento for inserido ou quando a cauda for removida.
6. Crie um método copiar que receba 1 lista como parâmetro e copie os elementos da lista atual para ela, mantendo os elementos originais desta lista em seu lugar original. Os elementos copiados são colocados após estes elementos. Faça duas versões: uma usando a função inserir e a outra não.
7. Crie um método removerDuplicatas para remover chaves duplicadas na lista. Será mantida a chave que estiver mais próxima da cabeça da lista. Faça duas versões: uma usando o método remover e a outra não.
8. Implemente um método igual que receba 1 lista como parâmetro e retorne true apenas quando esta lista contiver os mesmos elementos da atual. Observe que listas contendo elementos iguais, mas dispostos de forma diferente também são consideradas