日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Golang 列表list

作者:GeeCode 更新時間: 2023-07-09 編程語言

Golang 列表 list 詳解

在 Golang 中,list 是一個雙向鏈表實現,可以用來存儲任意類型的元素。本文將對 list 進行詳細的介紹,包括創建、初始化、添加元素、刪除元素、遍歷等操作,并提供相應的示例代碼。

list 的創建和初始化

在 Golang 中,可以使用 list.New() 函數來創建一個新的 list。例如,以下是一個字符串 list 的創建和初始化示例:

// 創建一個字符串 list
l := list.New()

// 初始化 list
l.PushBack("one")
l.PushBack("two")
l.PushBack("three")

// 打印 list
for e := l.Front(); e != nil; e = e.Next() {
    fmt.Println(e.Value)
}

在上面的示例中,創建一個新的字符串 list,并使用 l.PushBack(value) 的方式來初始化 list 中的元素。最后,使用 for 循環來遍歷 list 中的元素,并打印每個元素的值。

list 的添加元素

在 Golang 中,可以使用 l.PushBack(value) 和 l.PushFront(value) 的方式來添加元素到 list 中。例如,以下是一個字符串 list 的添加元素示例:

// 創建一個字符串 list
l := list.New()

// 初始化 list
l.PushBack("one")
l.PushBack("two")
l.PushBack("three")

// 在 list 中添加元素
l.PushBack("four")
l.PushFront("zero")

// 打印 list
for e := l.Front(); e != nil; e = e.Next() {
    fmt.Println(e.Value)
}

在上面的示例中,創建一個新的字符串 list,并使用 l.PushBack(value) 的方式來初始化 list 中的元素。然后使用 l.PushBack(value) 和 l.PushFront(value) 的方式來添加元素到 list 中。最后,使用 for 循環來遍歷 list 中的元素,并打印每個元素的值。

list 的刪除元素

在 Golang 中,可以使用 l.Remove(e) 的方式來刪除 list 中的元素。例如,以下是一個字符串 list 的刪除元素示例:

// 創建一個字符串 list
l := list.New()

// 初始化 list
l.PushBack("one")
l.PushBack("two")
l.PushBack("three")

// 刪除 list 中的元素
l.Remove(l.Front().Next())

// 打印 list
for e := l.Front(); e != nil; e = e.Next() {
    fmt.Println(e.Value)
}

在上面的示例中,創建一個新的字符串 list,并使用 l.PushBack(value) 的方式來初始化 list 中的元素。然后使用 l.Remove(e) 的方式來刪除 list 中的一個元素。最后,使用 for 循環來遍歷 list 中的元素,并打印每個元素的值。

list 的遍歷

在 Golang 中,可以使用 for 循環和 e.Next() 函數來遍歷 list 中的元素。例如,以下是一個字符串 list 的遍歷示例:

// 創建一個字符串 list
l := list.New()

// 初始化 list
l.PushBack("one")
l.PushBack("two")
l.PushBack("three")

// 遍歷 list 中的元素
for e := l.Front(); e != nil; e = e.Next() {
    fmt.Println(e.Value)
}

在上面的示例中,創建一個新的字符串 list,并使用 l.PushBack(value) 的方式來初始化 list 中的元素。然后使用 for 循環和 e.Next() 函數來遍歷 list 中的元素,并打印每個元素的值。

總結

本文介紹了 Golang 中 list 的創建、初始化、添加元素、刪除元素和遍歷操作。相較普通的數組和切片,list 有以下幾個優點:

  1. 支持任意類型的元素:在傳統的數組和切片中,元素必須是具體的類型,而 list 可以支持任意類型的元素。
  2. 便于插入和刪除元素:在傳統的數組和切片中,插入和刪除元素時需要移動其他元素,效率較低,而 list 可以通過雙向鏈表的方式,高效地插入和刪除元素。
  3. 遍歷方式靈活:在傳統的數組和切片中,只能使用 for 循環來遍歷元素,而 list 可以通過 e.Next() 函數實現更靈活的遍歷方式。

總之,list 是 Golang 中一個非常有用的數據結構,可以在很多場景下提高程序的效率和可讀性。

原文鏈接:https://blog.csdn.net/GeeCode/article/details/131446420

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新