列表—可以快速增删的非连续空间的容器
1.初始化列表
变量名 :=list.New()
var 变量名 list.List
2.在列表中插入元素
双链表支持从队列前方或者后方插入元素,分别对应的方法是PushFront和PushBack.
这两个方法都会返回一个*list.Element结构。
示例:
l := list.New()
l.PushBack("fist")
l.PushFront(67)
3.遍历列表,从列表中删除元素
package main
import (
"container/list"
"fmt"
)
func main() {
l := list.New()
//尾部添加
l.PushBack("canon")
//头部添加,list没有基本元素的限制
l.PushFront(67)
//尾部添加后保存元素句柄
element := l.PushBack("fist")
//fist之后添加high
l.InsertAfter("high", element)
//fist之前添加non
l.InsertBefore("non", element)
//遍历list
for i := l.Front(); i != nil; i = i.Next() {
fmt.Println(i.Value)
}
//删除element元素
l.Remove(element)
fmt.Println("------------------")
//重新遍历
for i := l.Front(); i != nil; i = i.Next() {
fmt.Println(i.Value)
}
}
输出:
67
canon
non
fist
high
------------------
67
canon
non
high