哈希表函数 —— uthash的简单使用

本文介绍了如何使用uthash库在C语言中创建和操作哈希表,包括添加结构体、初始化、查找和自定义排序功能。
摘要由CSDN通过智能技术生成


哈希表函数 —— 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是一个指向比较函数的指针,这个比较函数需要我们自己去定义。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值