顿悟:哈希链表

之前在分析lib里面的代码时,有接触过一次哈希链表,只是当时对他的描述有点摸不着头脑。今天在分析driver/base/core.c文件,看到在device_del函数中,dev将自己从父设备链表中删除,突然发现,这不正是一个哈希链表吗。

 

哈希链表,next指针是一个典型的单向链表,而prev指针却是指向了连表头。

对应着这里的实用:

dev的每一个成员dev->knode_parent都挂在parent的链表parent->klist_children之上,这里是next的单向链表,而dev->parent则指向着parent,也就是链表头。

 

因为在parent->klist_children链表中,我们只会关心下一个dev是什么,而不会去关心上一个dev是什么。所以这样的应用正好合适。

而每一个dev都继承着父设备的属性,所以正好需要一个dev->parent来获取父设备的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值