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
Ir a la versión completa