Escolar Documentos
Profissional Documentos
Cultura Documentos
Roteiro
Listas Encadeadas
Definio Vantagens Desvantagens Simples Duplas Circulares
Duvidas Exerccios
Listas Encadeadas
Lista Encadeada uma estrutura de dados projetada para armazenar sequncias de dados. Seu funcionamento se baseia no uso de estruturas chamadas ns, que guardam a localizao do prximo n, permitindo o acesso de toda a sequncia de dados. Para acessar os seus elementos, s necessrio ter uma referencia para o primeiro elemento da lista.
usada para implementar outros tipos abstratos de dados como pilhas, filas, filas duplas, e outros.
Os ns so armazenados em lugares diferentes na memria, o que permite seu funcionamento em memrias muito fragmentadas, alm de no desperdiar memria. A insero e remoo de elementos simples, no precisando reorganizar toda a lista encadeada cada operao.
Cada n precisar de, no mnimo, uma referencia para o prximo, usando memria para um ponteiro por cada n. O acesso de cada elemento feito percorrendo a lista at aquele elemento, o que mais custoso que usar aritmtica de ponteiros para achar o elemento necessrio.
Numa lista encadeada simples, cada n armazena o elemento e uma referncia para o prximo n. O ltimo n tem como prximo n um valor invlido, para indicar o fim da lista.
Em C, uma estrutura n:
Numa lista encadeada dupla, cada n armazena o elemento, uma referncia para o prximo n, e uma referncia para o n anterior. O ltimo n tem como prximo n um valor invlido, para indicar o fim da lista, e o primeiro n tem como anterior um valor invlido para indicar o comeo da lista. Ao contrrio da lista simples, na lista dupla podemos acessar todos os ns a partir de qualquer n da lista.
Numa lista encadeada circular, cada n armazena o elemento e uma referncia para o prximo n. O ltimo n tem como prximo n o primeiro n, dando seu comportamento circular. Com isso, no temos um primeiro n, mas sim um n que usamos para encontrar a lista. Como na lista dupla, podemos acessar todos os ns a partir de qualquer n da lista.
Listas Encadeadas
Com esses tipos de listas podemos montar outros, como listas circulares duplas, listas encadeadas triplas (se isso fizer sentido para o problema a ser resolvido), e o que sua imaginao quiser.
Dvidas?
Exerccio
Implemente uma lista telefnica (nome e telefone). Os contatos devem ser organizados em ordem alfabtica. Caso seja pedido um nome que no tenha sido cadastrado seu programa deve imprimir uma mensagem de aviso.