#P2005. 数据结构.双向链表

数据结构.双向链表

1. 定义

单向链表有一个指针,只能向后操作,不可以向前操作。双向链表有两个指针,可以向前后两个方向操作。

双向链表

2. 双向链表的基本操作

2.1 插入

单向链表要在第 i 个结点之前插入一个元素,则必须先找到第 i-1 个结点。双向链表直接找到第i个结点,就可以把新结点插入到第i个结点之前。

双向链表插入

2.2 删除

删除一个结点,实际上是把这个结点跳过去。单向链表中,必须先找到第 i-1 个结点,才能把第 i 个结点跳过去。双向链表直接找到第 i 个结点,然后修改指针即可。

双向链表删除

3. 循环双向链表

当双向链表的首位相连的时候,就称为了循环双向链表。头的左指针指向尾巴;尾巴的右指针指向头。

双向链表删除