C语言开源uthash哈希表


头文件

  • #include <uthash.h>

结构定义

typedef struct Hash_Table {
    int key; //内部标识;/* 我们将使用这个字段作为键 */
    int val; //字符名称
    UT_hash_handle hh;  /* 使这个结构可散列 */
} Hash_Table;

Hash_Table *hash_table = NULL;

Hash_Table *find(int key) { //封装key
    Hash_Table *temp;
    HASH_ADD_INT(hash_table, &key, temp);
    return temp;
}

insert

void insert(int key, int val) {
    Hash_Table *it = find(key);
    if (it == NULL) {
        Hash_Table *temp = malloc(sizeof(Hash_Table));
        temp->key = key, temp->val = val;
        HASH_ADD_INT(hashtable, key, temp);
    } else{
        it->val = val;
    }
}

delete

void delete_user(struct my_struct *user) {
    HASH_DEL( users, user);
}

待学习

https://troydhanson.github.io/uthash/


文章作者: Axieyun
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Axieyun !
评论
评论
  目录