C中的标准数据结构库?

时间:2009-11-30 12:06:23

标签: c windows data-structures

我正在寻找C语言(Windows平台)中经过标准测试和测试的库,它实现了堆栈,队列,树等数据结构。

我希望有一个源代码。可以自己写一个图书馆;但是,我觉得选择一些行业标准的实施方案可能会更好,这种实施方案可能会得到优化并且可以减少错误。

编译器是Visual Studio 2005/2008。

5 个答案:

答案 0 :(得分:15)

Glib

下载Glib for Windows here

答案 1 :(得分:10)

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

答案 2 :(得分:4)

结帐cbase。如果许可证与您有关,那么它的LGPL(大多数其他库是GPL)。

我唯一的评论是它需要C99或GCC。它使用可变的宏,它们不兼容C89。它应该在VC2005 / 2008下编译好。

  

cbase是一个有用函数的C库,可简化System V UNIX上的系统软件开发。该库包括用于内存管理,字符串解析,文件系统遍历,子进程执行,I / O以及常见数据结构(如链表,散列表,堆栈和队列)的实现的例程。该库还包括Berkeley套接字的高级接口,以及调度程序的实现,该调度程序的功能与cron守护程序的功能非常相似。注意:cbase以前称为CFL。

答案 3 :(得分:4)

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

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

  • 集装箱
    • 列表---双重链表。
    • 列表表---在链表上实现的KEY / VALUE配对表。
    • 哈希表---基于哈希的KEY / VALUE配对表。
    • 静态哈希表---基于静态(数组/ mmapped /共享)内存的KEY / VALUE配对表。
    • Vector ---实现了一个可扩展的元素数组。
    • 队列--- FIFO(先进先出)实施。
    • Stack --- LIFO(后进先出)实现。
  • 一般公用事业。
    • 字符串
    • I / O
    • 文件
    • IPC,Semaphore Shared-memory
    • 恩/解码器
    • 散列
    • 系统
    • 时间
  • 扩展
    • INI风格的配置文件解析器。
    • Apache风格的配置文件解析器。
    • 旋转文件记录器。
    • HTTP客户端。
    • 数据库(MySQL)界面。

在每个容器实现中,它清楚地解释了代码顶部的内部数据结构。因此,了解实施方案对您有所帮助。

可以在https://github.com/wolkykim/qlibc

找到该代码

希望这会有所帮助。 (如果这有帮助,请投票,我需要一些观点。谢谢:)。

答案 4 :(得分:3)

您可能需要查看http://www.liblfds.org/

相关问题