欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

内核数据结构---Hash List

程序员文章站 2022-03-01 18:02:50
...

内核数据结构---Hash List Linux内核中使用结构体struct hlist_head和struct hlist_node共同描述一个哈希表(Hash List)、哈希表又称散列表、在2.6.35以及以前版本的内核中、该结构定义和实现在头文件linux/list.h中、而在2.6.36以及以后版本的内核中、该结构定义在头文件linux/types.h中、实现在头文件linux/list.h中


定义如下

struct hlist_head
{
    struct hlist_node* first;
};

struct hlist_node
{
    struct hlist_node*  next;
    struct hlist_node** pprev;
};


该哈希链表很适合作为哈希表的冲突链、在哈希表中、当数据产生冲突(关键字重复)时、就把这些相互冲突的数据存放在一个冲突链中

而结构体struct hlist_node就是用来描述哈希表的冲突链的、称为冲突表或散列表、当数据产生冲突时、就使用结构体struct hlist_node来组织链表存放冲突数据Struc