双向链表的设计与实现
1.概念
在单链表的结点中增加一个指向其前驱的pre指针。
双向链表拥有单链表的所有操作。
2.设计与实现
(1)插入操作
a. 插入第一个元素异常处理:
if(next != NULL) {next->pre = node; }node->pre = current;
b.在0号位置处插入元素:
新来结点node前pre指向null。即:node->pre = NULL;
(2)删除操作
3.优点和缺点
优点:
1.双向链表在单链表的基础上增加了指向前驱的指针
2.功能上双向链表完全可以取代单链表使用
3.双向链表的current、pre和next的操作可以高效的遍历链表中的所有元素
缺点:
代码复杂