1. 定义
链表结点
通过prev指针与上一个结点相连,通过next指针与下一个结点相连,这样组成双端链表方便操作。
1 | typedef struct listNode { |
链表结构
list结构为链表提供了头指针、尾指针、链表长度用于方面的对链表进行操作,还有dup、free和match用于不同类型值的操作函数。
1 | typedef struct list { |
- 链表迭代器
1 | typedef struct listIter { |
2. 源码剖析
- 创建链表
1 | /** |
- 结点插入
1 | /** |
- 结点删除
1 | /** |
- 迭代器
1 | /** |