哈希表用uthash实现
uthash
头文件:
1 | #include "uthash.h" |
- 使用之前要创建一个结构体
1 | struct HashTable{ |
1 | hh是内部使用的hash处理句柄,必须在该结构体中定义该变量。 |
- 之后定义一个哈希表指针
1 | struct hashTable* hashtable; |
添加
向hashtable中添加数据
key是int 使用HASH_ADD_INT
key是字符串 使用HASH_ADD_STR
key是指针 使用HASH_ADD_PTR
1
HASH_ADD_INT(hashtable,key,tmp),插入tmp结点
替换
- 如果key是int,可以使用 HASH_REPLACE_INT
查找
如果key是int,可以使用 HASH_FIND_INT
1
2HASH_FIND_INT(hashtable,&key,tmp)
其中tmp是要返回的结点,一般是NULL,需要我们在malloc(sizeof(struct hashtable))一个,然后把key val输进去
删除
- HASH_DEL
计数
- HASH_COUNT
遍历
- HASH_ITER
排序
- HASH_SORT
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ᕙ(• ॒ ູ•)ᕘ欢迎光临ᕙ(`▿´)ᕗ!




