91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GO語言中container/list使用詳解

發布時間:2020-07-18 04:11:04 來源:網絡 閱讀:761 作者:qq5c9c828bc8d4b 欄目:編程語言

go中container中list的使用詳解

1. func New() *List{}

初始化一個列表,返回類型為一個list對象
a := list.New() # 在函數內部
a = list.New()

輸出:
&{{0xc00006a300 0xc00006a300 <nil> <nil>} 0}

2. func (l List) Back() Element{}

返回鏈表的最后一個元素,返回類型元列表中的元素。
x := a.Back()
fmt.Println(strings.Repeat("-----------", 10))
fmt.Println(x)

&{0xc00006a300 0xc00006a330 0xc00006a300 b}

3. func (l List) Front() Element{}

返回鏈表的第一個元素,返回類型元列表中的元素。
x := a.Front()
fmt.Println(strings.Repeat("-----------", 10))
fmt.Println(x)
&{0xc00006a360 0xc00006a300 0xc00006a300 a}

4. func (l List) Init() List{}

初始化此鏈表,將元素全部清空
m := a.Init()
fmt.Println(m)
輸出:
&{{0xc00006a300 0xc00006a300 <nil> <nil>} 0}

5. func (l List) InsertAfter(v interface{}, mark Element) *Element{}

InsertAfter在mark之后立即插入一個值為v的新元素e并返回e。如果mark不是l的元素,則不修改列表。商標不得為零。
b := a.PushBack("b")
fmt.Println(a.InsertAfter("mm", b))
fmt.Println(a)

&{0xc000068300 0xc000068360 0xc000068300 mm}
&{{0xc000068300 0xc000068480 <nil> <nil>} 1}

6. func (l List) InsertBefore(v interface{}, mark Element) *Element{}

b := a.PushBack("b")
fmt.Println(a.InsertBefore("mm", b))
fmt.Println(a)

&{0xc000068300 0xc000068360 0xc000068300 mm}
&{{0xc000068300 0xc000068480 <nil> <nil>} 1}

7. func (l *List) Len() int{}

返回鏈表的長度,返回值類型為×××
fmt.Println(a.Len())

1

8. func (l List) MoveAfter(e, mark Element){}

MoveAfter將標記后的元素e移動到新位置。如果e或mark不是l或e == mark的元素,則不修改列表。元素和標記不得為零。

9. func (l List) MoveBefore(e, mark Element){}

MoveBefore將元素e移動到標記前的新位置。如果e或mark不是l或e == mark的元素,則不修改列表。元素和標記不得為零。

10. func (l List) MoveToBack(e Element){}

MoveToBack將元素e移動到列表l的后面。如果e不是l的元素,則不修改列表。元素不能為零。

11. func (l List) MoveToFront(e Element){}

MoveToFront將元素e移動到列表l的前面。如果e不是l的元素,則不修改列表。元素不能為零。

12. func (l List) PushBack(v interface{}) Element{}

PushBack在列表l的后面插入一個值為v的新元素e并返回e。
a.PushBack("a")
b := a.PushBack("b")

13. func (l List) PushBackList(other List){}

PushBackList在列表l的后面插入另一個列表的副本。列表l和其他可以是相同的。他們一定不能為零。

14. func (l List) PushFront(v interface{}) Element{}

PushFront在列表l的前面插入一個值為v的新元素e并返回e。

15. func (l List) PushFrontList(other List){}

PushFrontList在列表l的前面插入另一個列表的副本。列表l和其他可以是相同的。他們一定不能為零。

16. func (l List) Remove(e Element) interface{}{}

如果e是列表l的元素,則刪除從l中刪除e。它返回元素值e.Value。元素不能為零。

17. func (e Element) Next() Element{}

Next返回下一個list元素或nil

18. func (e Element) Prev() Element{}

Prev返回前一個列表元素或nil。

19 取出鏈表中元素的值

x := a.Front()
fmt.Println(x.Value)

20 鏈表的遍歷

for e := a.Front(); e != nil; e = e.Next() {
        fmt.Println(e.Value)
    }
輸出:
3
a
b
mm

對于鏈表與切片的總結。

鏈表適合于頻繁存取的數據結構中。
切片適合于頻繁查詢的數據結構中。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

慈利县| 丘北县| 平远县| 和硕县| 睢宁县| 新密市| 德江县| 盐津县| 西充县| 长岛县| 富锦市| 图木舒克市| 建德市| 洛隆县| 临颍县| 枣强县| 理塘县| 舒兰市| 威远县| 宁蒗| 石首市| 化德县| 卫辉市| 教育| 西丰县| 庆元县| 新安县| 凯里市| 沿河| 玛多县| 客服| 汾阳市| 长子县| 大名县| 松溪县| 黑山县| 吴旗县| 兴宁市| 巴林左旗| 乌鲁木齐市| 拉萨市|