摘要:
在Linux中,链表有list与hlist的区别,其各自定义如下struct list_head { struct list_head *next, *prev; };struct hlist_head { struct hlist_node *first; };struct hlist_node { struct hlist_node *next, **pprev; };可以看出,其都为双向链表。双头(next,prev)的双链表对于Hash表来说“过于浪费”,因而另行设计了一套Hash表专用的hlist数据结构——单指针表头双循环链表,hlist的表头仅有一个指向首节点的指针,而没有指向尾 阅读全文