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.