Escolar Documentos
Profissional Documentos
Cultura Documentos
Estrutura de Dados - Lista Dinamica
Estrutura de Dados - Lista Dinamica
Prof. H. Senger
1 Listas
Existem duas maneiras bastante utilizadas na construo de listas.
Utilizando vetores
4
R
5
D
...
Joo
Yara
Ana
Note que cada clula contm um dado, e aponta (isto , indica) qual a prxima clula.
3.1
/* loop infinito */
Ler_teclado (novo_dado);
Criar (nova_clula);
Nova_clula novo_dado; /* guarda novo_dado em nova_celula*/
Atualiza( Primeiro);
Fim-loop
3.2
Destruio da lista
medida que o programa no precise mais de um dado da lista, ele pode remov-lo. O
algoritmo abaixo fica continuamente retirando dados da lista, destruindo a clula de onde
o dado foi retirando e liberando a memria:
Loop
/* loop infinito */
Dado contedo da clula; /* guarda o contedo da primeira clula*/
Utiliza(dado);
Destri_celula_indicada_por (Primeiro);
Primeiro Segundo;
Fim-loop
PROBLEMA:
Imagine como construir um programa com as seguintes caractersticas :
SOLUO:
Esse programa deveria possuir o seguinte algoritmo :
Loop
/* loop infinito */
L_teclado_ou_mouse (comando);
Se ( comando = Incluir) ento
Incio
Ler_teclado (novo_dado);
Criar (nova_clula);
Nova_clula novo_dado; /* guarda novo_dado */
Atualiza( Primeiro);
Fim-se
Seno Se ( comando = Apagar) ento
Incio
Segundo Prximo_de (Primeiro); /* guarda end. do segundo */
Destri_celula_indicada_por (Primeiro);
Primeiro Segundo; /*Atualiza o indicador de incio da lista*/
Fim-se;
Fim-loop