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)
}
}
程序运行后,控制台输出如下:
我们通过 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)
}
}
程序运行后,控制台输出如下:
我们通过 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)
}
}
程序运行后,控制台输出如下:
我们通过 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)
}
}
程序运行后,控制台输出如下:
我们通过 list.New 创建了一个列表 listHaiCoder,接着,首先使用 PushBack 在列表尾部插入一个元素,再使用
InsertAfter 在刚插入的尾部的元素后面插入一个元素。
Golang 的列表元素的插入有四种情景,分别为:在指定元素前插入、在指定元素后插入、在列表头部插入和在列表尾部插入。在列表指定元素前插入语法:
InsertBefore(v interface {}, mark * Element) *Element
在列表指定元素后插入语法:
InsertAfter(v interface {}, mark * Element) *Element
在列表头部插入语法:
PushFront(v interface{}) *Element
在列表尾部插入语法:
PushBack(v interface{}) *Element