3 回答

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
BSD queue.h具有:
SLIST =單鏈表
LIST =雙鏈表
SIMPLEQ =單鏈接隊(duì)列
TAILQ =雙鏈隊(duì)列
BSD tree.h具有:
RB-紅黑樹
SPLAY-SPLAY樹
有關(guān)詳細(xì)信息,請(qǐng)參見queue(3)和tree(3)手冊(cè)頁(yè)。我真的很喜歡它們,因?yàn)樗鼈兪菦]有依賴性的純C宏(甚至沒有l(wèi)ibc)。加上BSD許可證,您不必?fù)?dān)心任何帶有GPL的公司限制。

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
gnulib,gnu可移植性庫(kù)。
它作為源代碼分發(fā)。該列表來自其模塊列表,其中包括大量其他信息。一個(gè)有趣的例子是“ c-stack:堆棧溢出處理,導(dǎo)致程序退出”。
清單
數(shù)組列表
卡列清單
鏈表
avltree列表
rbtree列表
鏈接哈希表
avltreehash列表
rbtreehash列表
子列表(由另一個(gè)列表支持的順序列表數(shù)據(jù)類型。)
oset(抽象有序集。)
陣列式
Avltree-oset
rbtree-oset

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
SGLIB是一個(gè)出色的通用數(shù)據(jù)結(jié)構(gòu)庫(kù)。該庫(kù)目前提供了通用的實(shí)現(xiàn)為:
數(shù)組排序
鏈表
排序的鏈表
翻番鏈表
紅黑樹
哈希容器
它非??欤萭lib快。它的靈感來自標(biāo)準(zhǔn)模板庫(kù)。在這里下載
另一個(gè)解決方案是有吸引力的混沌軟件。C宏庫(kù):
kbtree.h:C.中的高效B樹庫(kù)
khash.h:C中的快速輕量哈希表庫(kù)
。kvec.h:C中的簡(jiǎn)單矢量容器。
Sglib和有吸引力的混沌軟件是C宏庫(kù)。使用void *在C中實(shí)現(xiàn)通用容器可能效率不高。C宏模仿C ++模板,并且與C ++模板一樣高效
添加回答
舉報(bào)