Golang List
List
func printList(i string, l list.List) {
fmt.Println(i)
fmt.Printf("类型:%T 值:%v 长度:%d \n", l, l, l.Len())
}
func printIterateList(l list.List) {
for e := l.Front(); e != nil; e = e.Next() {
fmt.Printf("%T, %v \n", e.Value, e.Value)
}
}
func main() { // main函数叫做入口函数,go约定main函数必须在main包中定义
var list1 list.List
printList("测试声明list", list1)
list1.PushFront(true)
list1.PushFront("aaa")
list1.PushFront(111)
// 尾部添加
list1.PushBack("2222")
printList("添加后的list为:", list1)
printIterateList(list1)
fmt.Println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
var list2 = list.New()
list2.PushFront(111)
list2.PushFront("222")
ele := list2.PushBack(nil)
list2.InsertBefore("fuck", ele)
list2.Remove(ele)
for e := list2.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
}
list遍历
// 顺序遍历 e.Next 获取下一个元素 list2.Front获取第一个元素
for e := list2.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
// 逆序遍历 e.Prev 获取上一个元素 list2.Back 获取最后一个元素
for e := list2.Back(); e != nil; e = e.Prev() {
fmt.Println(e.Value)
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 J.のblog!
评论