1. C:UsersamendezDocumentsEstructuraDatosProgramitasclaselisticanew.pas sábado, 06 de marzo de 2010 08:58 a.m.
Program lista;
uses crt;
{Albar Mendez -- mendezalbar@gmail.com}
type
punt = ^nodo;
{considereaciones:
1: inicializar el puntero "inicio" como nulo que apuntar al primer elemento
de la lista.
}
{*********************}
nodo = record
dato : string[15];
siguiente : punt;
end;
{*********************}
Var
inicio, anterior : punt;
i, pcn : integer;
bndr : boolean;
dato : string;
{*********************}
procedure insertar(var inicio:punt; var idato:string);
var auxiliar : punt;
begin
if inicio = nil then {no tiene elementos}
begin
new(inicio);
inicio^.dato := idato;
inicio^.siguiente := nil;
end
else {si tiene elementos}
begin
auxiliar := inicio; {se va al primer elemento}
while auxiliar^.siguiente <> nil do {Desplasa hasta encontrar un nodo sin siguiente}
auxiliar := auxiliar^.siguiente;
new(auxiliar^.siguiente); {Memoria para el nuevo nodo siguiente}
auxiliar := auxiliar^.siguiente; {Entra a nuevo nodo}
auxiliar^.dato:=idato; {Escribe el valor a insertar en el nuevo nodo}
auxiliar^.siguiente := nil {Establece Nil al siguiente del nuevo nodo}
end;
end;
{*********************}
-1-