关于Windows:C中的标准数据结构库?

Standard data structure library in C?

我正在寻找使用C语言(Windows平台)的标准久经考验的库,该库实现了诸如堆栈,队列,树等数据结构。

我希望有一个源代码。 我可以自己编写一个库; 但是,我觉得最好选择一些行业标准的实施方案,该方案可能经过优化并且减少了故障。

编译器是Visual Studio 2005/2008。


格里布

在此处下载Windows版Glib


  • GDSL。根据文档,它是纯ANSI C,应与Visual C ++一起使用。
  • C通用库
  • Kompimi。 C数据结构库,重点是集合。带有Visual Studio项目文件。


您检查过qLibc吗?这是一个开源C实现,提供了各种类型的数据结构,例如哈希表,链表,队列,堆栈...

截至今天,从它的网站上我看到它具有以下功能集:

  • 货柜

    • 列表---双向链接列表。
    • 列表表---在链接列表上实现的KEY / VALUE配对表。
    • 哈希表---基于哈希的KEY / VALUE配对表。
    • 静态哈希表---基于静态(数组/映射/共享)内存的KEY / VALUE配对表。
    • 向量---实现元素的可增长数组。
    • 队列--- FIFO(先进先出)实现。
    • 堆栈--- LIFO(后进先出)实现。
  • 通用工具。

    • 输入输出
    • 文件
    • IPC,信号量共享内存
    • 编码器/解码器
    • 散列
    • 系统
    • 时间
  • 扩展名

    • INI样式的配置文件解析器。
    • Apache样式的配置文件解析器。
    • 旋转文件记录器。
    • HTTP客户端。
    • 数据库(MySQL)界面。

在每个容器实现中,它都在代码顶部清楚地说明了内部数据结构。因此,这对您了解实施思路很有帮助。

可以在https://github.com/wolkykim/qlibc中找到该代码

希望这可以帮助。 (如果有帮助,请投票,我需要指出几点。谢谢:)


签出cbase。如果许可证与您有关,则其LGPL(其他大多数库都是GPL)。

我唯一的评论是它需要C99或GCC。它使用了不兼容C89的可变参数宏。根据VC2005 / 2008,它应该可以编译。

cbase is a C library of useful functions that simplify systems software development on System V UNIX. The library includes routines for memory management, string parsing, filesystem traversal, subprocess execution, I/O, as well as implementations of common data structures such as linked lists, hash tables, stacks, and queues. The library also includes a high-level interface to Berkeley sockets, and an implementation of a scheduler which has functionality very similar to that of the cron daemon. Note: cbase was formerly known as CFL.


您可能想看看http://www.liblfds.org/