双向链表的定义
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。
这里记录一下自己学习理解的过程
图解
Go的源码实现
1.首先看一下链表中存储的元素(Element)的定义:1
2
3
4
5
6
7
8
9
10
11// 双向链表的一个元素
type Element struct {
// 前驱指针和后继指针
prev, next *Element
// 该元素属于哪个链表list
list *List
// 该元素存储的值
Value interface{}
}