Lista pascal

Páginas: 3 (516 palabras) Publicado: 30 de mayo de 2011
program lista;
unit listad;

INTERFACE

type
TElemL=integer;
pnodo=^nodo;
nodo=record
dato:TElemL;
sig:pnodo;
end;
tlista=record
pri,act:pnodo;
end;Procedure IniciaL(var l:tlista);
Function VaciaL (l:tlista):boolean;
Procedure PrimeroL (var l:tlista);
Procedure SiguienteL(var l:tlista);
Function FinL(l:tlista):boolean;
ProcedureInsertaL(var l:tlista;e:TElemL); {inserta al medio o al final}
Procedure InsertaPpioL(var l:tlista;e:TElemL);
Procedure InsertaFinL(var l:tlista;e:TElemL);
Procedure InsertaNL(var l:tlista; e:TElemL;n:integer);
Procedure EliminaPpioL(var l:tlista);
Procedure ELiminaL(var l:tlista);

Procedure EliminaNL(var l:tlista;var e:TElemL; n:integer);
Procedure InfoL(l:tlista; var e:TElemL);
ProcedureModificaL(var l:tlista; e:TElemL);

IMPLEMENTATION

procedure IniciaL;
begin
l.pri:=nil;
l.act:=nil;
end;

function VaciaL;
begin
vacial:=l.pri=nil;
end;

procedure PrimeroL;begin
l.act:=l.pri;
end;

procedure SiguienteL;
begin
l.act:=l.act^.sig;
end;

function FinL;
begin
finl:=l.act=nil;
end;

procedure InsertaL; {inserta almedio o al final}
var
aux,act,ant:pnodo;
begin
new(aux);
aux^.dato:=e;
if vacial(l) or (e act^.dato) do
begin
ant:=act;
act:=act^.sig;
end;ant^.sig:=aux;
aux^.sig:=act;
end;
end;

procedure InsertaPpioL;
var
aux:pnodo;
begin
new(aux);
aux^.dato:=e;
aux^.sig:=l.pri;
l.pri:=aux;
end;

ProcedureInsertaFinL;
var
ant,act,aux:pnodo;
begin
new(aux);
aux^.dato:=e;
ant:=l.pri;
act:=ant;
while act nil do
begin
ant:=act;
act:=act^.sig;
end;
ant^.sig:=aux;aux^.sig:=act;
end;

procedure InsertaNL;
var
aux,ant,act:pnodo;
cont:integer;
begin
new(aux);
aux^.dato:=e;
if n=1 then {si es el nodo 1}...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Pascal listas
  • pascal
  • pascal
  • Pascal
  • pascal
  • Pascal
  • pascal
  • el pascal

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS