Programación General > Pascal

 Guardar una pila, cola o listas

(1/1)

fjmc22:
Hola me gustaria saber como guardar en archivo binario lo que es una pila o una lista.

Os pongo un ejemplo de una pila que estube haciendo.

Un saludo, y gracias.


--- Código: Pascal ---PROGRAM p;TYPETElemento = char;TPila = ^TNodo;TNodo = RECORDe: TElemento;sig: TPila;END; TFICHERO = FILE OF TPila; VAR pil:TPila; ele:TElemento;  PROCEDURE CargarDatos(VAR baraja:TPila);      VAR         ficher:TFICHERO;      BEGIN               Assign(ficher,'C:pila.dat');               RESET(ficher);                 read(ficher,baraja);               CLOSE(ficher);      END;    {Esto lo que hace es guardar una partida en ficheros binario, lo hace guardando los 10 registros que contienen datos de la partida}    PROCEDURE GuardarDatos(VAR baraja:TPila);      VAR         ficher:TFICHERO;      BEGIN          Assign(ficher,'C:pila.dat');          REWRITE(ficher);           write(ficher,baraja);         CLOSE(ficher);       END;  PROCEDURE CrearPilaVacia(VAR pila: TPila);BEGIN        pila := NIL;END;FUNCTION EsPilaVacia(pila: TPila): boolean;BEGINEsPilaVacia := (pila = NIL);END;PROCEDURE Apilar(VAR pila: TPila; e: TElemento);VARaux: TPila;BEGINnew(aux);aux^.e:=e;aux^.sig:= pila;pila:=aux;END;PROCEDURE Desapilar(VAR pila: TPila);VARaux: TPila;BEGINIF NOT EsPilaVacia(pila) THENBEGINaux := pila;pila := pila^.sig;dispose(aux);END;END;PROCEDURE Cima(pila: TPila; VAR e: TElemento);{Implementado como procedimiento por generalidad. Una funciónpodría no ser capaz de devolver TElemento.Se devuelve la cima sin eliminar el elemento de la pila.}BEGIN{Para un tipo simple la asignación simple es válida}e := pila^.e;writeln(e);END;  BEGINCrearPilaVacia(pil);CargarDatos(pil);cima(pil,ele);readln;END.  

epayan:
dirias , guardar los datos de la lista o pila

pues a mi se me ocurriria que mientras recorro la lista hasta no encontrar nill , lo almaceno en un archivo...

Navegación

[0] Índice de Mensajes

Ir a la versión completa