2
« en: Martes 10 de Febrero de 2004, 11:29 »
Hola, el fichero de respuesta anterior es bastante cutre y tiene varios fallos.
te mando una solución correcta y como Dios manda.
type Componente;
type Lista is access Componente;
type Componente is
record
Primero : Tipo_Elemento;
Resto : Lista;
end record;
procedure Insertar
(C : in out Lista;
Elemento : in Tipo_Elemento)
is
Ref_C : Lista;
begin -- Insertar
if C = null then
C := new Componente;
C.all.Primero := Elemento;
C.all.Resto := null;
else
Ref_C := C;
while Ref_C.all.Resto /= null loop
Ref_C := Ref_C.all.Resto;
end loop;
Ref_C.all.Resto := new Componente;
Ref_C.all.Resto.all.Primero := Elemento;
Ref_C.all.Resto.all.Resto := null;
end if;
end Insertar;