Linux内核单链表

主要说明Linux内核中单链表操作的关键思想,需要注意的地方

1. 假设

  1. 为了说明关键思想,对数据结构进行了精简

2. 数据结构定义

struct ListNode {
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(NULL) {}
};

3. 链表操作

3.1 创建链表
  1. 关键思想:链表实际上是通过next指针链接起来的,所以只需要控制next指针里存储什么地址,就可以建立节点之间的链接关系
ListNode* create(ListNode* l1) {
    ListNode *head = NULL;
    ListNode **node = &head; //可以理解为node是一个指向ListNode结构体next指针成员的指针
    while(l1! = NULL){
        (*node) = new ListNode(l1->val); //next指针存储一个节点地址
        node = &((*node)->next); //更新node,让其指向下一个next指针
        l1 = l1->next;
    }        
    return head;
}

原文链接: https://www.cnblogs.com/wengle520/p/12296308.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    Linux内核单链表

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/328612

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午4:46
下一篇 2023年3月1日 下午4:47

相关推荐