定义

Go语言的list是一个带头结点的双向链表,头结点中并不存储数据。双向链表中的每个元素都持有其前后元素的引用,在进行元素的插入和删除操作时需要同时修改前后元素的持有引用。

初始化

1
2
3
4
//方式一
var name list.List
//方式二
name := list.New()

插入元素

链表的每次插入会返回一个*list.Element结构,用以指向当前插入值所在节点。

尾插法

在链表尾部插入元素

1
name.PushBack("a")

头插法

在链表头部插入元素

1
name.PushFront("b")

遍历链表

1
2
3
for l := name.Front(); l!= nil; l = l.Next(){
fmt.Println(l.Value)
}