¿Ha revisado qLibc? Es una implementación C de código abierto que ofrece varios tipos de strucutre datos como tabla hash, lista enlazada, cola, pila ...
A partir de hoy, desde su página web veo que ha siguiente conjunto de características:
- Contenedores
- Lista --- Lista doblemente enlazada.
- Tabla de la lista --- KEY/VALUE tabla emparejada implementada en lista enlazada.
- Tabla Hash --- Hash basada KEY/VALUE tabla emparejada.
- Static Hash Table --- Tabla emparejada KEY/VALUE estática (array/mmapped/shared) basada en memoria.
- Vector --- implementa una gran variedad de elementos.
- Implementación Queue --- FIFO (Primero en entrar primero en salir).
- Implementación Stack --- LIFO (último en entrar primero en salir).
- Servicios generales.
- Cuerda
- /S
- Archivo
- de acoplamiento, semáforos de memoria compartida
- In/decodificadores
- Hashes
- Sistema
- Tiempo
- Extensiones I
- Analizador de archivos de configuración de estilo INI.
- Analizador de archivos de configuración de estilo Apache.
- Registrador de archivos giratorio.
- Cliente HTTP.
- Interfaz de base de datos (MySQL).
En cada implementación de contenedor, se explica claramente la estructura de datos interna en la parte superior de código. Por lo tanto, sería útil que captara las ideas de implementación.
El código se puede encontrar en https://github.com/wolkykim/qlibc
Espero que esto ayude. (Por favor vote si esto ayuda, necesito algunos puntos. Gracias :)
Estaba buscando un código fuente nativo de Windows que pudiera incorporar directamente en mi proyecto. También GLib viene con muchos otros complementos que no me interesaría. Solo quiero la biblioteca de estructura de datos. Lo revisaremos en detalle sin embargo. –
¿Qué quiere decir con "fuente de Windows nativa"? – qrdl
que se compila en C++ visual sin añadir dependencias. Más bien quise decir, un código compatible con ANSI C que se compila en Visual C++. cuando intento ver Glib me lleva al sitio GTK +. Entiendo que es una parte de la biblioteca que forma parte de un marco GTK + más grande. Por favor, corríjame si estoy equivocado. –