目录标题
- 哈希表函数 —— uthash的简单使用
- 添加头文件
- 定义结构体
- 哈希表的初始化
- 哈希表的添加
- 哈希表的添加
- 哈希表的排序
哈希表函数 —— uthash的简单使用
添加头文件
在使用uthash函数实现哈希表前,要先添加头文件:
#include "uthash.h"
定义结构体
为哈希表的每个值定义一个结构体:
struct my_table {int key; int val; UT_hash_handle hh;
}Table;
其中key一定要有,可以是任意数据类型,不能重复。
哈希表的初始化
定义一个哈希表,必须初始化为NULL:
Table *tavle = NULL;
哈希表的添加
HASH_FIND_INT( table, &key, tmp );
- table:待查询的hash表;
- &key:指向想查询的key的地址;key表示要查的值,前面加 & 取址;
- tmp:表示该函数的输出值,即我们根据table查到的内容;它是一个指向哈希表table中一个结构体的指针,如果table不存在该值,返回空指针。
哈希表的添加
HASH_ADD_INT( table, key, s );
其中指针s是一个以哈希结构体定义的指针,并且结构体内的值给定了。
哈希表的排序
HASH_SORT(table, cmp);
cmp是一个指向比较函数的指针,这个比较函数需要我们自己去定义。