hashdb

c语言hash表的实现

旧街凉风 提交于 2020-04-14 17:54:05
【推荐阅读】微服务还能火多久?>>> 1. hash_db.h 1 #ifndef _HASH_DB_H 2 #define _HASH_DB_H 3 4 #include " slist.h " 5 6 typedef unsigned int (*hash_func_t) ( const void *key); // 哈希函数类型,返回值为整数,参数为关键字 7 struct _hash_db 8 { 9 slist_head_t *p_head; // 指向数组首地址 10 unsigned int size; // 数组成员数 11 unsigned int value_len; // 一条记录的长度 12 unsigned int key_len; // 关键字的长度 13 hash_func_t pfn_hash; // 哈希函数 14 }; 15 typedef struct _hash_db hash_db_t; // 指向哈希表对象的指针类型 16 17 int hash_db_init(hash_db_t *p_hash, // 哈希表初始化 18 unsigned int size, 19 unsigned int key_len, 20 unsigned int value_len, 21 hash_func_t pfn_hash); 22 23 int