添加方法:1、用InsertBefore()函數(shù)在列表指定元素(mark點(diǎn))前插入元素,語法“InsertBefore(v,mark)”;2、用InsertAfter()函數(shù)在列表指定元素(mark點(diǎn))后插入元素,語法“InsertAfter(v,mark)”;3、用PushBackList(()函數(shù)在列表尾部插入元素;4、用PushFrontList()在列表頭部插入元素。
本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。
Golang 的 列表 元素的插入有四種情景,分別為:在指定元素前插入、在指定元素后插入、在列表頭部插入和在列表尾部插入。
列表插入元素的方法如下表所示:
方 法 | 功 能 |
---|---|
InsertAfter(v interface {}, mark * Element) * Element | 在 mark 點(diǎn)之后插入元素,mark 點(diǎn)由其他插入函數(shù)提供 |
InsertBefore(v interface {}, mark * Element) *Element | 在 mark 點(diǎn)之前插入元素,mark 點(diǎn)由其他插入函數(shù)提供 |
PushBackList(other *List) | 添加 other 列表元素到尾部 |
PushFrontList(other *List) | 添加 other 列表元素到頭部 |
下面就來詳細(xì)介紹一下。
1、在列表指定元素前插入
在節(jié)點(diǎn) mark 前面插入一個元素 v。
語法
InsertBefore(v interface {}, mark * Element) *Element
參數(shù) | 描述 |
---|---|
v | 要插入的元素。 |
mark | 列表的節(jié)點(diǎn)。 |
-
返回值:元素節(jié)點(diǎn)。
示例:使用 InsertBefore 在列表的指定元素前插入元素
package main import ( "container/list" "fmt" ) func main() { //使用 InsertBefore 在列表的指定元素前插入元素 listHaiCoder := list.New() element := listHaiCoder.PushBack("Hello") element = listHaiCoder.InsertBefore("world", element) listHaiCoder.InsertBefore("你好", element) for i := listHaiCoder.Front(); i != nil; i = i.Next() { fmt.Println("Element =", i.Value) } }
分析:
-
我們通過 list.New 創(chuàng)建了一個列表 listHaiCoder,接著,首先使用 PushBack 在列表尾部插入一個元素,再使用
-
InsertBefore 在剛插入的尾部的元素前面插入一個元素。
2、在列表指定元素后插入
在節(jié)點(diǎn) mark 后面插入一個元素 v。
InsertAfter(v interface {}, mark * Element) *Element
示例:
package main import ( "container/list" "fmt" ) func main() { //使用 InsertAfter 在列表的指定元素后插入元素 listHaiCoder := list.New() element := listHaiCoder.PushBack("Hello") element = listHaiCoder.InsertAfter("world", element) listHaiCoder.InsertAfter("你好", element) for i := listHaiCoder.Front(); i != nil; i = i.Next() { fmt.Println("Element =", i.Value) } }
分析:
-
我們通過 list.New 創(chuàng)建了一個列表 listHaiCoder,接著,首先使用 PushBack 在列表尾部插入一個元素,再使用
-
InsertAfter 在剛插入的尾部的元素后面插入一個元素。
3、在列表頭部插入
在列表頭部插入一個元素 v。
PushFront(v interface{}) *Element
示例:使用 PushFront 在列表頭部插入元素
package main import ( "container/list" "fmt" ) func main() { //使用 PushFront 在列表頭部插入元素 listHaiCoder := list.New() listHaiCoder.PushFront("Hello") listHaiCoder.PushFront("HaiCoder") for i := listHaiCoder.Front(); i != nil; i = i.Next() { fmt.Println("Element =", i.Value) } }
分析:
-
我們通過 list.New 創(chuàng)建了一個列表 listHaiCoder,接著使用 PushFront 函數(shù)在列表的頭部連續(xù)插入了兩個元素。因?yàn)槲覀兪褂玫氖穷^插法,因此最后插入的元素在最前面。
-
最后,我們 遍歷列表 所有元素時,發(fā)現(xiàn),最后插入的元素在最前面。
4、在列表尾部插入
在列表尾部插入一個元素 v。
PushBack(v interface{}) *Element
示例:使用 PushBack 在列表尾部插入元素
package main import ( "container/list" "fmt" ) func main() { //使用 PushBack 在列表尾部插入元素 listHaiCoder := list.New() listHaiCoder.PushBack("Hello") listHaiCoder.PushBack("HaiCoder") for i := listHaiCoder.Front(); i != nil; i = i.Next() { fmt.Println("Element =", i.Value) } }
分析:我們通過 list.New 創(chuàng)建了一個列表 listHaiCoder,接著使用 PushBack 函數(shù)在列表的尾部連續(xù)插入了兩個元素。因?yàn)槲覀兪褂玫氖俏膊宸?,因此最后插入的元素在最后面,最先插入的元素在最前面?/p>
【