La Web del Programador: Comunidad de Programadores
 
    Pregunta:  4998 - LISTAS GENERICAS
Autor:  Angel Cepa Pandiella
Estudio segundo curso de ingenieria tecnica en informatica y necesito (para una practica de estructuras de datos) q alguien me ayude y me pase el codigo de un objeto lista generica en pascal parecida a esta:

TPuntero=^nodo;

nodo=RECORD
info:pointer;
sig:TPuntero;
END;

TLista=OBJECT
PRIVATE
primero,ultimo:TPuntero;
espacio:integer;
PUBLIC
CONSTRUCTOR Inicializar(espacio:integer);
PROCEDURE Insertar(VAR direccion:pointer);
PROCEDURE Sacar(VAR direccion:pointer);
PROCEDURE Actual(VAR direccion:pointer);
PROCEDURE Siguiente(VAR direccion:pointer);
FUNCTION Vacia:boolean;
DESTRUCTOR Liberar;
END;

He hecho un codigo con este objeto y no me da errores de compilacion, sino q
me da errores de acceso a memoria en tiempo de ejecucion. Posiblemente sea x
la manera en la q llamo al los procedimientos de Insertar, Sacar, Actual o
siguiente. Esto es lo q hago:

VAR datos:TLista;
.....
FUNCTION Sacar:char;
VAR
x:char;
p,q:pointer;
BEGIN
datos.sacar(p);
q:=@x;
move(p,q,sizeof(char));
Sacar:=x;
END;
......
Me ayudaria mucho ver el codigo completo de un objeto lista generica como
esta. Se q es un problema un poco extraño pero es q es la 1ª vez q me tengo
q pegar con una lista generica y no tengo ni idea de como hacerlo. Muchas gracias.

  Respuesta:  Rodrigo Muñoz
Hola, como andas?

Te escribia, por si las dudas no tenes todavia la contestacion a esta pregunta.
En realidad no entiendo bien a que apuntas.
Pero creo que te va a servir una Unidad o libreria hecha en Turbo Pasca, por uno de mis profesores. Esta maneja un archivo indice, con la cual vos despues podes generar listados ordenados por codigos.

Bueno si te interesa, escribime al email de arriba
y te puedo pasar el codigo, como tambien un programa de prueba.

Atentamente.