|
关注+星标公众号,不错过精彩内容
来源 | typedef
一、导读自从上次刷了一题LeetCode两数之和后,我就去研读了uthash的源码,对其链表的使用方法感到非常震撼。
随后,我又发现Linux内核链表的实现也采用了类似的思想。
接下来,我将和大家分享传统链表与Linux内核链表实现之间的差异。
二、传统链表结构在C语言中,传统链表的实现通常如下所示:
/**
* @Author:typedef公众号
*/
typedef struct Node {
int data; // 数据域
struct Node* prev; // 指向前一个节点的指针
struct Node* next; // 指向后一个节点的指针
} Node;
每个节点包含数据和指向上一个以及下一个节点的指针,还有一些用户数据。如下图所示: |
|