一、数据结构 🪜
typedef struct dictEntry {
// key
void *key;
// 这里采用了 union 类型,节省内存
union {
void *val;
uint64_t u64;
int64_t s64;
double d;
} v;
// 下一个节点, 采用链地址法。针对新节点采用头插法。
struct dictEntry *next;
} dictEntry;
// dict 相关操作函数,以函数指针的方式存在
typedef struct dictType {
uint64_t (*hashFunction)(const void *key);
void *(*keyDup)(void *privdata, const void *key);
void *(*valDup)(void *privdata, const void *obj);
int (*keyCompare)(void *privdata,const void *key1, const