c语言中的hashmap

定义

c 复制代码
struct hashTable {
    int key;
    int val;
    UT_hash_handle hh;
};

struct hashTable* hashtable;

struct hashTable* find(int ikey) {
    struct hashTable* tmp;
    HASH_FIND_INT(hashtable, &ikey, tmp);
    return tmp;
}

void insert(int ikey, int ival) {
    struct hashTable* it = find(ikey);
    if (it == NULL) {
        struct hashTable* tmp = malloc(sizeof(struct hashTable));
        tmp->key = ikey, tmp->val = ival;
        HASH_ADD_INT(hashtable, key, tmp);
    } else {
        it->val = ival;
    }
}

使用

c 复制代码
hashtable = NULL;
struct hashTable* it = find(target - nums[i]);
insert(nums[i], i);
相关推荐
招风的黑耳1 分钟前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
xunyan62341 分钟前
面向对象(下)-接口的理解
java·开发语言
程序员游老板5 分钟前
基于SpringBoot3+vue3的爱心陪诊平台
java·spring boot·毕业设计·软件工程·课程设计·信息与通信
期待のcode7 分钟前
Springboot核心构建插件
java·spring boot·后端
遥不可及~~斌10 分钟前
Java 面试题集 -- 001
java·开发语言
C1829818257539 分钟前
HttpURLConnection 与其他客户端关系
java
通往曙光的路上1 小时前
发邮件1、创建邮箱
java
麦麦鸡腿堡2 小时前
Java_类的加载
java·开发语言
JIngJaneIL2 小时前
基于java + vue校园快递物流管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js
超级大只老咪2 小时前
数组的正向存储VS反向存储(Java)
java·开发语言·python