繁体   English   中英

C中的标准数据结构库?

[英]Standard data structure library in C?

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

我更喜欢有一个源代码。 自己写一个库是可能的; 但是,我觉得最好选择一些可以优化且错误更少的行业标准实现。

编译器是 Visual Studio 2005/2008。

油嘴滑舌

在此处下载适用于 Windows 的 Glib

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

查看cbase 它的 LGPL(大多数其他库都是 GPL)如果许可是你关心的事情。

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

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

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

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

  • 容器
    • 列表---双向链表。
    • 列表表---在链表上实现的键/值配对表。
    • 哈希表 --- 基于哈希的 KEY/VALUE 配对表。
    • 静态哈希表 --- 基于静态(数组/映射/共享)内存的 KEY/VALUE 配对表。
    • Vector --- 实现了一个可增长的元素数组。
    • 队列 --- FIFO(先进先出)实现。
    • 堆栈 --- LIFO(后进先出)实现。
  • 一般公用事业。
    • 细绳
    • 输入/输出
    • 文件
    • IPC,信号量共享内存
    • 编码器/解码器
    • 哈希值
    • 系统
    • 时间
  • 扩展
    • INI 风格的配置文件解析器。
    • Apache 风格的配置文件解析器。
    • 旋转文件记录器。
    • HTTP 客户端。
    • 数据库(MySQL)接口。

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

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

希望这可以帮助。 (如果这有帮助,请投票,我需要一些积分。谢谢:)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM