|
11.2 Listas
Uma lista é uma coleção
de elementos de mesmo tipo arrumados de forma arbitrária.
- cada elemento da lista tem um sucessor
e um predecessor.
- o predecessor do 1º e o sucessor
do último são vazios.
Ex.:
Program
construindo_lista;
Type
info =
pont = elemento;
elemento = Record
chave: info;
prox: pont
End;
Var
p, prim: pont;
Begin
new(prim);
prim .chave:=
3;
prim .prox:=
nil;
new(p);
prim .chave:=
6;
prim .prox:=
prim;
prim:= p;
new(p);
prim .chave:=
9;
prim:= p;
End. |
Usando um arquivo para criar_lista temos:
Uma função para procurar um
elemento numa lista é dada por:
Function Procura_lista
(primeiro: pont; dado: integer): boolean;
Var
p: pont;
nao_achou: boolean;
Begin
p:= primeiro;
nao_achou:= true
While
(p <> nil) and nao_achou do
Begin
If
p .chave = dado
Then
nao_achou:= false
Else
p:= p .prox;
End;
procura_lista:= not(nao_achou);
End; |
|