linux 内核链表 : 双向循环链表

本文详细介绍了Linux内核中链表的各种操作方法,包括初始化、添加、遍历、删除、替换及移动节点等核心功能,并提供了具体使用的宏定义如INIT_LIST_HEAD、list_add、list_for_each_entry、list_del等,是理解内核链表机制的全面指南。

内核链表:双向循环链表

    链表初始化
        INIT_LIST_HEAD
    
    链表添加节点(头插,尾插)
        list_add
        list_add_tail
    
    链表的遍历(前遍历,后遍历,安全遍历)
    
        list_for_each
        list_for_each_safe
        
        list_for_each_entry
        list_for_each_entry_safe  //一般在删除节点时会用到
        
        list_for_each_entry_reverse
        list_for_each_entry_safe_reverse
        
    链表删除节点()
        list_del
        list_del_init
    
    链表替换
        list_replace
        list_replace_init
    
    链表移动(先删除,然后头插或尾插入到别的节点)
        list_move
        list_move_tail
        
    判断链表为空
        list_empty
    判断链表是否为最后一个
        list_is_last

 

 

 

 

 

 

 

参考连接 : https://www.cnblogs.com/yangguang-it/p/11667772.html

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值