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

内核链表:双向循环链表

链表初始化
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