Go语言标准库中的双向链表的基本用法

什么是二分查找区间?

什么是链表?

链表节点的代码实现:

链表的遍历:

链表如何插入元素?

go语言标准库的链表:

练习代码:

go 复制代码
package main

import (
	"container/list"
	"fmt"
)

func main() {
	// 创建双向链表
	lst := list.New()

	// 向头部添加元素
	lst.PushFront(1)

	// 向尾部添加元素
	lst.PushBack(2)
	lst.PushBack(3)

	// 获取头元素
	front := lst.Front()
	fmt.Println(front.Value)

	// 获取尾元素
	back := lst.Back()
	fmt.Println(back.Value)

	// 获取链表长度
	fmt.Println(lst.Len())

	// 移除元素
	lst.Remove(front)
	fmt.Println(lst.Len())

	// 遍历链表
	fmt.Println("=========")
	for e := lst.Front(); e != nil; e = e.Next() {
		fmt.Println(e.Value)
	}
}
相关推荐
夜郎king8 小时前
RuoYi-Vue3 企业级后台快速落地实战指南
java·开发语言
江华森8 小时前
exp01_Python_数据类型
开发语言·python
希冀1238 小时前
【JavaScript】Javascript—JS进阶—Day03
开发语言·javascript·原型模式
gugucoding9 小时前
28. 【C语言】通用数据操作:`void *` 与类型无关编程
c语言·开发语言
曹牧9 小时前
XML 解析过程中遇到 `org.xml.sax.SAXParseException
java·开发语言
光影少年9 小时前
RN 架构:JS层、原生桥接层、原生渲染层 通信原理
开发语言·javascript·架构
ALex_zry9 小时前
C++26 std::inplace_vector 详解:零堆分配的定容向量
开发语言·c++
许彰午9 小时前
77_Python数据清洗实战技巧
开发语言·python
落寞的电源9 小时前
Delegate = Object + MethodInfo
开发语言·数据库·c#
你怎么知道我是队长9 小时前
JavaScript的介绍
开发语言·javascript·ecmascript