当前位置: 技术问答>linux和unix
设计这样一个hash表
来源: 互联网 发布时间:2016-06-19
本文导语: 想要设计这样一个hash表,左边是一个字符串列表,右边是每一个字符串对应的处理函数指针 假如输入一个字符串,能很快找到对应的处理函数 如何用C语言写,拜托了各位大哥... | typedef unsigned long...
想要设计这样一个hash表,左边是一个字符串列表,右边是每一个字符串对应的处理函数指针
假如输入一个字符串,能很快找到对应的处理函数
如何用C语言写,拜托了各位大哥...
假如输入一个字符串,能很快找到对应的处理函数
如何用C语言写,拜托了各位大哥...
|
typedef unsigned long (*str_func)(char *str);
typedef struct tagSTR_DRV_TBL{
char str[MAX_LEN];
unsigned long str_len;
str_func *func;
struct tagSTR_DRV_TBL next;
}STR_DRV_TBL;
STR_DRV_TBL g_pstStrFuncTble[MAX_PTR_NUM];
hash_create()
hash_insert(const char *str,const unsigned long len,str_func *func)
{
//根据str和len,计算一个key值,并将这三项填入hash表相应的bucket
}
str_func *hash_search(const char *str,const unsigned long len)
{
//根据str和len,计算key值,并搜索相应的bucket,得到函数指针并返回
}
//具体的hash算法可以自己设计,字符串每一项直接相加也可以,主要看hash冲突是否厉害。