TABLAS HASH DE TABLAS HASH
Publicado por Peterax (3 intervenciones) el 07/03/2006 23:19:56
Hola me gustaria saber como puedo implementar una tabla hash de tablas hash es decir una estructura de datos recursiva implementando tablas hash.
El caso es que necesito esta estructura y no consigo realizarla ya que el forward declaration que necesita ( al igual que se hace con la implementacion de listas enlazadas) no funciona al parecer con la instanciacion de paquetes genericos.
Como paquete generico he utilizado los mapas de los booch components pero incluso realizando un TAD de mi propia implementacion de tablas hash no consigo implementar la estructura recursiva.
Aqui os pongo el ejemplo de la instanciacion, para que quede mas claro:
type mi_info; -- forward declaration
package Tabla_ejemplo is
new Tablas (
Tipo_Informacion => mi_info,
Tipo_Clave => Mi_Clave,
Tamaño => Tamano_Tabla,
Hash => Mi_Hash);
use Tabla_ejemplo;
type sig_tabla is access all tabla_ejemplo.tabla;
-- exactamente el mismo esquema que una lista enlazada
type mi_info is record
field1: natural;
field2: natural;
field3: sig_tabla; -- puntero a la siguiente tabla.
end record;
Haber si alguien me podria responder lo antes posible porque estoy seguro que se puede hacer este tipo de estructuras en ada95. Muchas gracias
Peterax
El caso es que necesito esta estructura y no consigo realizarla ya que el forward declaration que necesita ( al igual que se hace con la implementacion de listas enlazadas) no funciona al parecer con la instanciacion de paquetes genericos.
Como paquete generico he utilizado los mapas de los booch components pero incluso realizando un TAD de mi propia implementacion de tablas hash no consigo implementar la estructura recursiva.
Aqui os pongo el ejemplo de la instanciacion, para que quede mas claro:
type mi_info; -- forward declaration
package Tabla_ejemplo is
new Tablas (
Tipo_Informacion => mi_info,
Tipo_Clave => Mi_Clave,
Tamaño => Tamano_Tabla,
Hash => Mi_Hash);
use Tabla_ejemplo;
type sig_tabla is access all tabla_ejemplo.tabla;
-- exactamente el mismo esquema que una lista enlazada
type mi_info is record
field1: natural;
field2: natural;
field3: sig_tabla; -- puntero a la siguiente tabla.
end record;
Haber si alguien me podria responder lo antes posible porque estoy seguro que se puede hacer este tipo de estructuras en ada95. Muchas gracias
Peterax
Valora esta pregunta


0