当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《是否有任何具有通用数据结构的开源C库?》经验,为你挑选了5个好方法。

我正在寻找一个带有常见的可重用数据结构的C库,比如链表,哈希表等.像Kyle Loudon那样使用C语言(Masterback Algorithms with C)进行分发.



1> HUAGHAGUAH..:

BSD queue.h有:

SLIST =单链表

LIST =双重链表

SIMPLEQ =单链接队列

TAILQ =双向链接队列

BSD tree.h有:

RB - 红黑树

SPLAY - splay树

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



2> Emil H..:

Gnome为此提供了一个很好的库,称为Glib,它还具有许多有用的数据结构和其他实用程序.



3> Ian Kelling..:

gnulib,gnu可移植性库.

它作为源代码分发.此列表来自其模块列表,其中包含一些其他内容.一个有趣的是"c-stack:堆栈溢出处理,导致程序退出."

名单

数组列表

CARRAY列表

链表

avltree列表

rbtree列表

linkedhash列表

avltreehash列表

rbtreehash列表

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

oset(抽象有序集.)

阵列OSET

avltree-OSET

rbtree-OSET



4> Lear..:

SGLIB是一个出色的通用数据结构库.该库目前提供通用实现:
排序数组
链表
排序链表
双链表
红黑树
散列容器

它比glib快得多,速度快.它的灵感来自标准模板库.在这里下载

另一个解决方案是Attractive Chaos软件.C宏库:
kbtree.h :C.khash.h中的高效B树库
:C. kvec.h中的快速和轻量级哈希表库
:C中的简单向量容器

Sglib和Attractive Chaos软件是C宏库.使用void*在C中实现通用容器可能效率低下.C宏模仿C++模板,并且与C++模板一样高效



5> luis.espinal..:

GDSL库可能是一件好事:

http://home.gna.org/gdsl/

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有