Escolar Documentos
Profissional Documentos
Cultura Documentos
Listas
(Estrutura de Dados)
São Luís – MA
2019
Introdução
Entre as principais estruturas de dados avançadas temos: pilhas, filas, listas e
árvores. Estas estruturas armazenam dados e são manipuladas por funções
básicas do tipo: cria, insere, elimina, consulta e altera. Estas estruturas podem
ser implementadas tanto da forma estática quanto da forma dinâmica.
Implementaremos somente as estruturas que devem ser declaradas, bem como
os procedimentos e funções de manipulação. O algoritmo de utilização das
estruturas, procedimentos e funções ficará para desenvolvimento posterior.
Sabemos que antes de executar um programa, o computador precisa carregar
seu código executável para a memória. Da área de memória que é reservada
para o programa, uma parte é usada para armazenar as instruções a serem
executadas e a outra é destinada ao armazenamento dos dados. Quem
determina quanto de memória será usado para as instruções é o compilador.
Alocar área para armazenamento de dados, entretanto, é responsabilidade do
programador. Uma lista linear pode ser implementada usando vetores ou
ponteiros.
Conceitos:
Listas: Uma Lista é uma estrutura de dados que é composta por nós, elementos,
que apontam para o próximo elemento da lista, o último elemento apontará para
nulo. Para compor uma lista encadeada, basta guardar seu primeiro elemento.
Cada tipo de lista pode ser implementada de forma sequencial (quando cada
célula da estrutura possui apenas o elemento contido nela), simplesmente
encadeada (quando cada célula está dividida em duas partições, onde uma
partição irá guardar o seu elemento e a outra partição guardará o endereço da
célula seguinte) ou duplamente encadeada (quando cada célula está dividida em
três partições, onde a primeira partição irá guardar o endereço da célula anterior,
a segunda partição guardará seu elemento e a outra partição guardará o
endereço da célula seguinte). Uma lista pode ocupar a memória do computador
de forma estática (quando, de antemão, já sabemos seu tamanho) ou dinâmica
(quando o programa é capaz de criar novas varáveis durante sua execução).
Tipos de Listas:
Lista estática desordenada: Os elementos são colocados na primeira posição
vazia da lista (normalmente, no final). Na lista ordenada, é escolhido um dado
que será o campo de ordenação da lista. Quando se deseja inserir um novo
elemento na lista, primeiro tem que ser verificado em que local ele dever ser
colocado para que seja mantida a ordem da lista.
Lista estática ordenada: Os elementos devem ser colocados na estrutura
obedecendo a uma ordenação. Qualquer operação feita na estrutura, não pode
afetar na ordenação da mesma. A vantagem dessa lista será notada
principalmente nos momentos que necessite percorrer a lista a procura de algum
elemento.
Lista dinâmica desordenada: Esta lista é implementada usando ponteiros. A
memória para armazenar os dados é alocada em tempo de execução. Na
próxima seção será descrito o funcionamento de cada uma das operações
básicas. Esta lista possui dois ponteiros, um que guarda o endereço do primeiro
elemento da lista (“inicio”) e outro que guarda o endereço do último elemento da
lista (“fim”).
Referências:
Wiki.icmc.ups.br
https://sites.google.com