Biblioteca de estructura de datos estándar en C? [closed]

4 minutos de lectura

avatar de usuario
k singh

Estoy buscando una biblioteca estándar probada en lenguaje C (plataforma Windows) que implemente estructuras de datos como pilas, colas, árboles, etc.

Preferiría tener un código fuente junto con él. Escribir una biblioteca por mi cuenta es posible; sin embargo, creo que puede ser mejor optar por alguna implementación estándar de la industria que pueda optimizarse y tener menos errores.

El compilador es Visual Studio 2005/2008.

Fácil

Descargar Glib para Windows aquí

  • 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ían. Solo quiero la biblioteca de estructura de datos. Aunque lo revisare en detalle.

    – K Singh

    30 de noviembre de 2009 a las 12:17

  • ¿Qué quiere decir con “fuente nativa de Windows”?

    – qrdl

    30 de noviembre de 2009 a las 12:26

  • que se compila en Visual C++ sin agregar dependencias. Más bien quise decir, un código compatible con ANSI C que se compila en visual c ++. cuando trato de ver Glib me toma el sitio GTK+. Entiendo que es una parte de la biblioteca que es parte de un marco GTK+ más grande. Por favor, corríjame si estoy equivocado.

    – K Singh

    30 de noviembre de 2009 a las 13:05

  • Para compilar tu aplicación solo necesitas Glib, no un GTK+ completo (si no usas GTK+, por supuesto)

    – qrdl

    30 de noviembre de 2009 a las 13:26

  • gtk.org/download-windows.html En la sección de la cadena de herramientas, dice esto: Específicamente, esto significa que no debe usar versiones más nuevas del compilador de Microsoft que Visual C++ 6 sin saber exactamente lo que está haciendo. Todavía tengo que compilarlo en Visual Studio 2008.

    – K Singh

    1 de diciembre de 2009 a las 11:08

  • GDSL. Según los documentos, es ANSI C puro y debería funcionar con Visual C++.
  • C-biblioteca genérica
  • Kompimi. Biblioteca de estructura de datos C, con énfasis en colecciones. Viene con archivos de proyecto de Visual Studio.

  • GDSL – información de la página principal. GSL está desarrollado en Debian GNU/Linux con gcc. Debería basarse en cualquier distribución GNU/linux con gcc. GDSL ha sido probado con éxito bajo las siguientes distribuciones: Debian Mandrake RedHat Intentaré compilar en Visual c++.

    – K Singh

    30 de noviembre de 2009 a las 13:02

  • Kompimi está en versión alfa. Preferiría tener una biblioteca probada para mi aplicación. De lo contrario, habría escrito el mío a partir de los libros que dan ejemplos. Para la biblioteca genérica C, no pude obtener el código en la sección de descargas ni siquiera ver el svn.

    – K Singh

    30 de noviembre de 2009 a las 13:12

¿Has consultado qLibc? Es una implementación de C de código abierto que proporciona varios tipos de estructuras de datos, como una tabla hash, una lista vinculada, una cola, una pila…

A partir de hoy, desde su sitio web veo que tiene el siguiente conjunto de características:

  • Contenedores
    • Lista — Lista doblemente enlazada.
    • Tabla de lista — Tabla emparejada CLAVE/VALOR implementada en lista enlazada.
    • Tabla hash — Tabla emparejada CLAVE/VALOR basada en hash.
    • Tabla hash estática — Tabla emparejada CLAVE/VALOR basada en memoria estática (matriz/mapeada/compartida).
    • Vector — implementa una matriz creciente de elementos.
    • Cola — Implementación FIFO (primero en entrar, primero en salir).
    • Stack — Implementación de LIFO (último en entrar, primero en salir).
  • Utilidades generales.
    • Cuerda
    • E/S
    • Expediente
    • IPC, memoria compartida de semáforo
    • En/decodificadores
    • Hachís
    • Sistema
    • Hora
  • Extensiones
    • Analizador de archivos de configuración estilo INI.
    • Analizador de archivos de configuración estilo Apache.
    • Registrador de archivos giratorio.
    • cliente HTTP.
    • Interfaz de base de datos (MySQL).

En cada implementación de contenedor, explica claramente la estructura de datos internos en la parte superior del 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 🙂

Verificar cbase. Es LGPL (la mayoría de las otras bibliotecas son GPL) si la licencia es algo que le preocupa.

Mi único comentario es que requiere C99 o GCC. Utiliza macros variadas, que no son compatibles con C89. Debería compilar bien bajo VC2005/2008.

cbase es una biblioteca C de funciones útiles que simplifican el desarrollo de software de sistemas en System V UNIX. La biblioteca incluye rutinas para la administración de memoria, análisis de cadenas, recorrido del sistema de archivos, ejecución de subprocesos, E/S, así como implementaciones de estructuras de datos comunes, como listas vinculadas, tablas hash, pilas y colas. La biblioteca también incluye una interfaz de alto nivel para los sockets de Berkeley y una implementación de un programador que tiene una funcionalidad muy similar a la del demonio cron. Nota: cbase se conocía anteriormente como CFL.

Es posible que desee echar un vistazo a http://www.liblfds.org/

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad