Prog
Var p: ^interger; New(P) P^:= 2;
Type Ptrlista = ^tipoelemento; Tipoelemento = record Info : interger; Prox : ptrlista; End;
Var L : ptrlista
New(L)
L^ : // Acessando o campo do registro
{inserção no inicio : atualiza ponteiro para a lista}
Procedure inserenalista (var l: ptrlista; x: interger); Var P: ptrlista; Begin New(p); P^.info := x; // parte da caixinha que recebe interger P^.prox := l; // parte que recebe ptrlista L:=p; End;
Var L : ptrlista; // declara uma lista não iniciada
Begin
L := NIL; // inicializa lista como vazia Inserenalista (L,23); // insere na lista o elemento 23 Inserenalista (L,45); // insere na lista o elemento 45
Procedure imprimelista (l: lista); Var P: ptrlista; Begin P:= L; While ( pNIL) do BEGIN Writeln(p^.info); P:= p^.prox; END; end;
{Recebe a informação referente ao elemento a pesquisar
Retorna o ponteiro do no da lista que representa o elemento ou NIL caso o elemento não seja encontrado na lista}
Function buscalista ( l: ptrlista; x: ptrlista); Var P : ptrlista; Begin P:= L; BuscaLista := NIL; While (p NIL and buscalista=NIL) do BEGIN If (p^.info=x) Buscalista:= P Else P:= p^.prox; END;
End;
{remover um elemento}
Procedure retiralista (var l: ptrlista; x: interger); Var P, ant : ptrlista; Achou : boolean; Begin