Domingo 22 de Diciembre de 2024, 17:32
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
Guardar una pila, cola o listas
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Guardar una pila, cola o listas (Leído 2049 veces)
fjmc22
Nuevo Miembro
Mensajes: 18
Guardar una pila, cola o listas
«
en:
Jueves 10 de Junio de 2010, 14:00 »
0
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;
TYPE
TElemento
=
char
;
TPila
=
^TNodo;
TNodo
=
RECORD
e
:
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
;
BEGIN
EsPilaVacia
:=
(
pila
=
NIL
)
;
END
;
PROCEDURE
Apilar
(
VAR
pila
:
TPila; e
:
TElemento
)
;
VAR
aux
:
TPila;
BEGIN
new
(
aux
)
;
aux^.
e
:=
e;
aux^.
sig
:=
pila;
pila
:=
aux;
END
;
PROCEDURE
Desapilar
(
VAR
pila
:
TPila
)
;
VAR
aux
:
TPila;
BEGIN
IF
NOT
EsPilaVacia
(
pila
)
THEN
BEGIN
aux
:=
pila;
pila
:=
pila^.
sig
;
dispose
(
aux
)
;
END
;
END
;
PROCEDURE
Cima
(
pila
:
TPila;
VAR
e
:
TElemento
)
;
{Implementado como procedimiento por generalidad. Una función
podrí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
;
BEGIN
CrearPilaVacia
(
pil
)
;
CargarDatos
(
pil
)
;
cima
(
pil
,
ele
)
;
readln
;
END
.
Tweet
epayan
Miembro activo
Mensajes: 41
Nacionalidad:
Re: Guardar una pila, cola o listas
«
Respuesta #1 en:
Viernes 11 de Junio de 2010, 18:52 »
0
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...
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
Guardar una pila, cola o listas