C程序員的哈希庫

此頁面列出了一系列可幫助您在C中編程的庫。這里的庫是開源的,用于幫助您存儲數(shù)據(jù),而無需滾動自己的鏈接列表等數(shù)據(jù)結(jié)構(gòu)。

uthash

由Troy D.Hanson開發(fā),任何C結(jié)構(gòu)都可以使用uthash存儲在哈希表中。只需包括#include"UT hash.h"然后在結(jié)構(gòu)中添加一個UT Uhash#處理,并在結(jié)構(gòu)中選擇一個或多個字段作為密鑰。然后使用散列添加,散列查找INT和宏來存儲,檢索或刪除散列表中的項(xiàng)目。它使用int,string和二進(jìn)制鍵。

14 Judy 15 16

Judy是一個實(shí)現(xiàn)稀疏動態(tài)數(shù)組的C庫。Judy數(shù)組僅使用空指針聲明,僅在填充時才使用內(nèi)存。如果需要,他們可以成長為使用所有可用內(nèi)存。Judy'主要優(yōu)點(diǎn)是可擴(kuò)展性,高性能和內(nèi)存效率。它可以用于動態(tài)大小的數(shù)組,關(guān)聯(lián)數(shù)組或簡單易用的界面,不需要重新擴(kuò)展或收縮,可以替換許多常見的數(shù)據(jù)結(jié)構(gòu),如數(shù)組,稀疏數(shù)組,哈希表,B樹,二進(jìn)制樹,線性列表,跳過符,其他排序和搜索算法以及計數(shù)函數(shù)。

SGLIB

SGLIB是簡單通用庫的縮寫,由單個標(biāo)題文件SGLIB.h組成,它為數(shù)組,列表,排序列表和紅黑樹提供了最常見算法的通用實(shí)現(xiàn)。該庫是通用的,它沒有定義自己的數(shù)據(jù)結(jié)構(gòu)。而是通過通用界面作用于現(xiàn)有的用戶定義的數(shù)據(jù)結(jié)構(gòu)。它也不分配或取消分配任何內(nèi)存,也不依賴于任何特定的內(nèi)存管理。

所有算法均以數(shù)據(jù)結(jié)構(gòu)和比較器功能(或比較器宏中醫(yī)健康養(yǎng)生知識)類型參數(shù)化的宏的形式實(shí)現(xiàn)。還有幾個基因?qū)τ谀承┧惴ê蛿?shù)據(jù)結(jié)構(gòu),可能需要參數(shù),例如'的名稱;下一個'鏈接列表的字段。