Aula Prática 12 Listas Encadeadas Monitoria 2011.2 Listas Encadeadas Listas Encadeadas são usadas para dois propósitos: Criar vetores de tamanhos desconhecidos na memória Armazenar bancos de dados em disco. A lista ligada permite que se insira e elimine itens rapidamente sem re-arranjar todo o conjunto de dados. Listas Encadeadas Listas encadeadas podem ser de ligação simples, ligação dupla ou ligação circular. Uma lista de ligação simples contém uma ligação para o próximo item de dado. Obs.: O ponteiro do último elemento deve apontar para NULL. Listas Encadeadas Uma lista de ligação dupla contém tanto uma ligação para o próximo item como uma ligação para o item anterior Obs.: Nesse caso, o ponteiro que apontaria para o item anterior do primeiro elemento e o ponteiro que apontaria para o próximo do último elemento devem apontar para NULL Listas Encadeadas Numa lista de ligação circular, o último item possui uma ligação com o primeiro item da lista. Obs.: Já nesse caso, deve-se haver um melhor controle. Pois, caso possua mais de 1 elemento, a lista não tem “fim” (nenhum ponteiro aponta para NULL). Listas Encadeadas Exemplo: Listas Encadeadas Há, basicamente, três operações com listas: Inserção Remoção Busca / Impressão Listas Encadeadas Listas Encadeadas Listas Encadeadas Listas Encadeadas Exemplo insersão: Listas Encadeadas Exemplo - Remoção Listas Encadeadas Exemplo – Remoção: Obs.: Lembrar sempre de dar free() no elemento removido. Listas Encadeadas Exemplo - Remoção Listas Encadeadas Exemplo – Busca Impressão: Listas Encadeadas Dúvidas??? Exercícios Faça um programa de cadastro de uma lista telefônica usando o conceito de lista encadeadas. Cada elemento possuirá nome (no máximo 30 caracteres) e telefone. A lista deverá estar em ordem alfabética. Seu programa deverá ter as seguintes opções: Busca por nome; Inserção; Remoção; Impressão da lista completa;