数据结构&算法 双向链表
-
双向链表
双向链表是链表的一种变体,与单链表相比,双向链表都可以轻松实现。以下是理解双向链表概念的重要术语。- Link —— 链表中的每个链接(Link)都可以存储一个称为元素的数据。
- Next —— 链表中的每个链接都包含一个指向下一个链接的链接,该链接称为Next。
- Prev —— 链表中的每个链接都包含一个指向前一个称为Prev的链接。
- LinkedList —— 一个链表包含到第一个称为first的链接的连接链接。
-
双向链表表示
根据上面的说明,以下是要考虑的重点。- 双链表包含一个名为first和last的链接元素。
- 每个链接包含一个数据字段和两个链接字段,分别称为next和prev。
- 每个链接都使用其下一个链接与其下一个链接链接。
- 每个链接都使用其上一个的链接与其上一个的链接链接。
- 最后一个链接带有一个空链接,以标记列表的结尾。
-
基本操作
以下是双向链表支持的基本操作。- 插入 -在列表的开头添加一个元素。
- 删除 -删除列表开头的元素。
- 插入最后 -在列表的末尾添加一个元素。
- 最后删除-从列表末尾删除元素。
- 在以下位置插入 -在列表项之后添加元素。
- 删除 -使用键从列表中删除元素。
- 向前显示-以向前方式显示完整列表。
- 向后显示- 向后显示完整列表。
-
插入操作
以下代码演示了在双向链表开头的插入操作。 -
删除操作
以下代码演示了双向链表开头的删除操作。- -
在最后插入
以下代码演示了在双链表的最后位置的插入操作。 -