Thursday, March 20, 2008

libhash 0.1


He desarrollado una pequeña librería de hashing para cubrir una necesidad y decidí que era buena idea dejarla pública por si alguien ve esto y necesita una... La librería permite especificar la función de hashing que se desee y resuelve colisiones en las entradas por encadenamiento. No he realizado pruebas de rendimiento pero si de memoria (usando la herramienta valgrind, sin fugas ni errores). A priori, debería ser portable a cualquier sistema operativo con un compilador ansi C.
Un rápido vistazo a la API:

int tableCreate(h_table *ht, unsigned long size, h_fun f);
int tableDestroy(h_table *ht);
int tableInsert(h_table *ht, char *key, void *data, size_t size);
t_entry *tableSearch(h_table *ht, char *key);
int tableDelete(h_table *ht, char *key);
int tableResize(h_table *ht, unsigned long size);


da una idea de las funcionalidades de la misma. De momento la librería está comentada en castellano porque tiene que ser leída por gente que lo requiere, en el futuro traduciré los comentarios. También incluyo un pequeño programa de prueba para verla en acción.
Enlaces:
libhash 0.1
programa de prueba

Blogger templates

A cœur vaillant rien d'impossible.
Powered by Blogger.

Labels

About