一、链表的实现
package main
import (
"container/list"
"fmt"
)
func main() {
List := list.New()
for i := 0; i < 20; i++ {
List.PushFront(i)
}
for it := List.Front(); it != nil ; it = it.Next() {
fmt.Println(it.Value)
fmt.Println(it.Prev())//前一个
fmt.Println(it.Next()) //后一个
}
}
二、链表的常用函数
package main
import (
"container/list"
"fmt"
)
//创建
func showList(myList *list.List) {
for it := myList.Front(); it != nil; it = it.Next() {
fmt.Print(" ")
fmt.Print(it.Value)
}
fmt.Println()
}
func main() {
//创建一个链表
l := list.New()
showList(l)
//在尾部添加
l.PushBack("canon")
showList(l)
//头部添加
l.PushFront(67)
showList(l)
//尾部添加后保存句柄
back := l.PushBack("fist")
showList(l)
//在fist后添加high
l.InsertAfter("high",back)
showList(l)
//在fist前添加noon
l.InsertBefore("noon",back)
showList(l)
//删除
l.Remove(back)
showList(l)
}