leetcode中uthash的使用

学习了:https://blog.csdn.net/whatday/article/details/95926766流程:1、创建uthash结构体typedef struct { char Name[64]; char Time[10000]; int Nums; UT_hash_handle hh;} TweetCounts;key值是Name,一定要放在结构体的第一个,value值是整个结构体。它的原理是通过key值找到相应的结构体,因此就产生了,
摘要由CSDN通过智能技术生成

学习了:https://blog.csdn.net/whatday/article/details/95926766

流程:

1、创建uthash结构体

typedef struct {
    char Name[64];
    char Time[10000];
    int  Nums;
    UT_hash_handle hh;
} TweetCounts;

key值是Name,一定要放在结构体的第一个,value值是整个结构体。它的原理是通过key值找到相应的结构体,因此就产生了,没增加一个key,都要malloc一个相应的结构体。

2、定义一个总hash表,其定义为一个全局变量

TweetCounts *g_hash = NULL;

这个g_hash相当于一个总表,里面存放所有的key-value。

3、增

增加一个K-V对,需要分配内存,添加表项。添加表项的函数是HASH_ADD_STR。注意第二个值是结构体的变量,不是key的具体值。不过是不是第二个参数决定key值是啥,有待我确认。

        newOne = (TweetCounts *)malloc(sizeof(TweetCounts));
        (void)strcpy(newOne->Name, tweetName);
        newOne->Nums = 0;
        newOne->Time[newOne->Nums] = time;
        newOne->Nums++;
        HASH_AD
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值