为了账号安全,请及时绑定邮箱和手机立即绑定

是否有具有通用数据结构的开源C库?

是否有具有通用数据结构的开源C库?

慕少森 2019-11-22 10:55:14
我正在寻找具有常见可重用数据结构(如链表,哈希表等)的C库。类似Kyle Loudon的C(平装)母版分发算法的源代码。
查看完整描述

3 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

BSD queue.h具有:


SLIST =单链表

LIST =双链表

SIMPLEQ =单链接队列

TAILQ =双链队列

BSD tree.h具有:


RB-红黑树

SPLAY-SPLAY树

有关详细信息,请参见queue(3)和tree(3)手册页。我真的很喜欢它们,因为它们是没有依赖性的纯C宏(甚至没有libc)。加上BSD许可证,您不必担心任何带有GPL的公司限制。


查看完整回答
反对 回复 2019-11-22
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

gnulib,gnu可移植性库。


它作为源代码分发。该列表来自其模块列表,其中包括大量其他信息。一个有趣的例子是“ c-stack:堆栈溢出处理,导致程序退出”。


清单

数组列表

卡列清单

链表

avltree列表

rbtree列表

链接哈希表

avltreehash列表

rbtreehash列表

子列表(由另一个列表支持的顺序列表数据类型。)

oset(抽象有序集。)

阵列式

Avltree-oset

rbtree-oset


查看完整回答
反对 回复 2019-11-22
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

SGLIB是一个出色的通用数据结构库。该库目前提供了通用的实现为:

数组排序

链表

排序的链表

翻番链表

红黑树

哈希容器


它非常快,比glib快。它的灵感来自标准模板库。在这里下载


另一个解决方案是有吸引力的混沌软件。C宏库:

kbtree.h:C.中的高效B树库

khash.h:C中的快速轻量哈希表库

。kvec.h:C中的简单矢量容器。


Sglib和有吸引力的混沌软件是C宏库。使用void *在C中实现通用容器可能效率不高。C宏模仿C ++模板,并且与C ++模板一样高效


查看完整回答
反对 回复 2019-11-22
  • 3 回答
  • 0 关注
  • 840 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信