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/