[Golang] List

List由多個節點所組成的, 節點之間透過一些變數紀錄彼此的關係

a -> next -> b -> next -> c
a <- pre <- b <- pre <- c

宣告方式

name:=list.New()
//var name list.List
  • PushBack:插入元素直接放入結尾
  • PushFront:插入元素直接放入開頭
  • InsertBefore:被標記的元素前增加元素
  • InsertAfter:被標記的元素後增加元素
package main

import (
    "container/list"
    "fmt"
)

func main() {
    //List




    list1 := list.New()
    list1.PushBack("Back_1") //插入元素直接放入結尾
    list1.PushFront(111)     //插入元素直接放入最前   111 Back_1
    list1.PushBack("Back_2") //插入元素直接放入結尾 111 Back_1 Back_2

    el := list1.PushBack("Back_3") // 111 Back_1 Back_2 Back_3
    //在Back_3的後方加入After
    list1.InsertAfter("After", el) // 111 Back_1 Back_2 Back_3 After
    // 在Back_3的前方加入Before
    list1.InsertBefore("Before", el) // 111 Back_1 Back_2 Before Back_3 After

    // 移除 Back_3
    //list1.Remove(el)
    for i := list1.Front(); i != nil; i = i.Next() {
        fmt.Println(i.Value)
    }

}

顯示結果

111
Back_1
Back_2
Before
Back_3
After

發佈留言