imprinv.pas
{ ppc386 -va -vh *.pas }
{ COMIENZO DE DESCRIPCION
Escriba un procedimiento para imprimir de forma recursiva
una lista invertida. Se le da como dato al procedimiento
el primer nodo de la lista. Ejercicio 3 del final del
14/02/2002. Esta version usa la unidad u_listpi (listas de
enteros por punteros y sin puntero a la celda final).
keywords:lista
FIN DE DESCRIPCION }
{-----+-----+-----+-----+-----+-----+-----+-----+-----+-----}
{ Autor: Martin Bayo }
{ $Id: imprinv.pas 2002/09/30 15:00 mbayo $}
program p_imprinv ;
uses u_listpi ;
type
lista = listpi ;
var
L1: lista ;
p1: posicion;
{-----+-----+-----+-----+-----+-----+-----+-----+-----+-----}
procedure IMPRINV (p: posicion; L: lista);
begin
if ( p <> L.FIN ) then begin
IMPRINV (L.SIGUIENTE (p), L);
write (L.RECUPERA (p),' ');
end ; {if}
end ;
{-----+-----+-----+-----+-----+-----+-----+-----+-----+-----}
begin
L1.ANULA ;
p1 := L1.PRIMERO ;
L1.INSERTA (5, p1);
L1.INSERTA (3, p1);
L1.INSERTA (1, p1);
L1.INSERTA (6, p1);
L1.INSERTA (4, p1);
L1.INSERTA (2, p1);
L1.IMPRIME ('lista inicial L1');
write ('Lista invertida: ');
IMPRINV (L1.PRIMERO, L1) ;
writeln;
end.
{-----+-----+-----+-----+-----+-----+-----+-----+-----+-----}
Generated by GNU enscript 1.6.1.