链表是一种基础数据结构,顺序表,由一个又一个的节点组成,节点的增、删时间复杂度为O(1),查询的时间复杂度为O(N),内存中不连续。
链表节点的实现:
typedef struct listNode {
struct listNode *prev; // 前置节点
struct listNode *prev; // 后置节点
void *value; // 节点值
}
链表管理结构:
typedef struct list {
listNode *head; // 头节点
listNode *tail; // 尾节点
unsigned long len; // 节点数量(链表长度)
// ...
}
记住,双端无环链表!!!
(不熟悉链表的同学可以去看一下数据结构与算法章节)
2024.10.21
writeBy kaiven