码迷,mamicode.com
首页 > 其他好文 > 详细

go container/list双向链使用实例

时间:2021-06-02 11:57:59      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:使用   pre   class   taf   位置   一个   main   bsp   init   

package main
 
import (
    "container/list"
    "fmt"
)
 
func main() {
    l := list.New() //创建一个新的list
    for i := 0; i < 5; i++ {
        l.PushBack(i)
    }
    for e := l.Front(); e != nil; e = e.Next() {
        fmt.Print(e.Value) //输出list的值,01234
    }
    fmt.Println("")
    fmt.Println(l.Front().Value) //输出首部元素的值,0
    fmt.Println(l.Back().Value)  //输出尾部元素的值,4
    l.InsertAfter(6, l.Front())  //首部元素之后插入一个值为6的元素
    for e := l.Front(); e != nil; e = e.Next() {
        fmt.Print(e.Value) //输出list的值,061234
    }
    fmt.Println("")
    l.MoveBefore(l.Front().Next(), l.Front()) //首部两个元素位置互换
    for e := l.Front(); e != nil; e = e.Next() {
        fmt.Print(e.Value) //输出list的值,601234
    }
    fmt.Println("")
    l.MoveToFront(l.Back()) //将尾部元素移动到首部
    for e := l.Front(); e != nil; e = e.Next() {
        fmt.Print(e.Value) //输出list的值,460123
    }
    fmt.Println("")
    l2 := list.New()
    l2.PushBackList(l) //将l中元素放在l2的末尾
    for e := l2.Front(); e != nil; e = e.Next() {
        fmt.Print(e.Value) //输出l2的值,460123
    }
    fmt.Println("")
    l.Init()           //清空l</span>
    fmt.Print(l.Len()) //0
    for e := l.Front(); e != nil; e = e.Next() {
        fmt.Print(e.Value) //输出list的值,无内容
    }
 
}

 

go container/list双向链使用实例

标签:使用   pre   class   taf   位置   一个   main   bsp   init   

原文地址:https://www.cnblogs.com/kevin-yang123/p/14814632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!