Go语言列表list插入元素

Go语言列表list插入元素教程

Golang列表 元素的插入有四种情景,分别为:在指定元素前插入、在指定元素后插入、在列表头部插入和在列表尾部插入。

在列表指定元素前插入

语法

InsertBefore(v interface {}, mark * Element) *Element

参数

参数 描述
v 要插入的元素。
mark 列表的节点。

返回值

返回值 描述
Element 元素节点。

说明

在节点 mark 前面插入一个元素 v。

在列表指定元素后插入

语法

InsertAfter(v interface {}, mark * Element) *Element

说明

在节点 mark 后面插入一个元素 v。

在列表头部插入

语法

PushFront(v interface{}) *Element

说明

在列表头部插入一个元素 v。

在列表尾部插入

语法

PushBack(v interface{}) *Element

说明

在列表尾部插入一个元素 v。

案例

在列表头部插入元素

使用 PushFront 在列表头部插入元素

package main import ( "container/list" "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 PushFront 在列表头部插入元素 listHaiCoder := list.New() listHaiCoder.PushFront("Hello") listHaiCoder.PushFront("HaiCoder") for i := listHaiCoder.Front(); i != nil; i = i.Next() { fmt.Println("Element =", i.Value) } }

程序运行后,控制台输出如下:

96 golang列表list头部插入元素.png

我们通过 list.New 创建了一个列表 listHaiCoder,接着使用 PushFront 函数在列表的头部连续插入了两个元素。因为我们使用的是头插法,因此最后插入的元素在最前面。

最后,我们 遍历列表 所有元素时,发现,最后插入的元素在最前面。

在列表尾部插入元素

使用 PushBack 在列表尾部插入元素

package main import ( "container/list" "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 PushBack 在列表尾部插入元素 listHaiCoder := list.New() listHaiCoder.PushBack("Hello") listHaiCoder.PushBack("HaiCoder") for i := listHaiCoder.Front(); i != nil; i = i.Next() { fmt.Println("Element =", i.Value) } }

程序运行后,控制台输出如下:

97 golang列表list尾部插入元素.png

我们通过 list.New 创建了一个列表 listHaiCoder,接着使用 PushBack 函数在列表的尾部连续插入了两个元素。因为我们使用的是尾插法,因此最后插入的元素在最后面,最先插入的元素在最前面。

在指定元素前插入元素

使用 InsertBefore 在列表的指定元素前插入元素

package main import ( "container/list" "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 InsertBefore 在列表的指定元素前插入元素 listHaiCoder := list.New() element := listHaiCoder.PushBack("Hello") element = listHaiCoder.InsertBefore("HaiCoder", element) listHaiCoder.InsertBefore("嗨客网", element) for i := listHaiCoder.Front(); i != nil; i = i.Next() { fmt.Println("Element =", i.Value) } }

程序运行后,控制台输出如下:

98 golang列表list指定位置插入元素.png

我们通过 list.New 创建了一个列表 listHaiCoder,接着,首先使用 PushBack 在列表尾部插入一个元素,再使用

InsertBefore 在刚插入的尾部的元素前面插入一个元素。

在指定元素后插入元素

使用 InsertAfter 在列表的指定元素后插入元素

package main import ( "container/list" "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 InsertAfter 在列表的指定元素后插入元素 listHaiCoder := list.New() element := listHaiCoder.PushBack("Hello") element = listHaiCoder.InsertAfter("HaiCoder", element) listHaiCoder.InsertAfter("嗨客网", element) for i := listHaiCoder.Front(); i != nil; i = i.Next() { fmt.Println("Element =", i.Value) } }

程序运行后,控制台输出如下:

99 golang列表list指定位置插入元素.png

我们通过 list.New 创建了一个列表 listHaiCoder,接着,首先使用 PushBack 在列表尾部插入一个元素,再使用

InsertAfter 在刚插入的尾部的元素后面插入一个元素。

Go语言列表list插入元素总结

Golang 的列表元素的插入有四种情景,分别为:在指定元素前插入、在指定元素后插入、在列表头部插入和在列表尾部插入。在列表指定元素前插入语法:

InsertBefore(v interface {}, mark * Element) *Element

在列表指定元素后插入语法:

InsertAfter(v interface {}, mark * Element) *Element

在列表头部插入语法:

PushFront(v interface{}) *Element

在列表尾部插入语法:

PushBack(v interface{}) *Element