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);
相关推荐
itman3011 分钟前
C语言入门:掌握编程底层逻辑与核心技能
c语言·编程入门·系统开发·底层逻辑·核心技能
一叶龙洲3 分钟前
Java中使用模板引擎(FreeMarker / Velocity) + Word XML导出复杂Word
xml·java·word
山甫aa7 分钟前
哈希集合-----从零开始的数据结构学习
数据结构·算法·哈希算法
Halo_tjn9 分钟前
Java 接口的定义重构学生管理系统
java·开发语言·算法
Albert Edison16 分钟前
【RabbitMQ】快速入门
java·分布式·rabbitmq
ch.ju17 分钟前
Java程序设计(第3版)第二章——类型转换(1)
java
XiYang-DING19 分钟前
【Java】哈希
java·哈希算法·散列表
ai旅人22 分钟前
Guava RateLimiter深度解析:非阻塞令牌桶限流原理与跑批实战
java·限流·guava
Seven9724 分钟前
【从0到1构建一个ClaudeAgent】规划与协调-技能
java
范什么特西30 分钟前
MyEclipse8.5配置
java·ide·myeclipse