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)
	}
}
相关推荐
福大大架构师每日一题2 小时前
ollama v0.15.2发布:新增Clawdbot集成指令,全面支持Ollama模型启动!
golang·ollama
rosmis2 小时前
地铁病害检测系统软件改进记录-2-02
开发语言·前端·javascript
欧阳x天2 小时前
STL详解(九)—— stack和queue的模拟实现
开发语言·c++
xqqxqxxq2 小时前
洛谷算法1-1 模拟与高精度(NOIP经典真题解析)java(持续更新)
java·开发语言·算法
沐知全栈开发2 小时前
Rust 函数
开发语言
zhougl9962 小时前
Java 枚举类(enum)详解
java·开发语言·python
yong99902 小时前
基于势能原理的圆柱齿轮啮合刚度计算MATLAB程序实现
开发语言·matlab
lsx2024063 小时前
R 数组:深入探索与高效使用
开发语言
星火开发设计3 小时前
格式化输入输出:控制输出精度与对齐方式
开发语言·c++·学习·算法·函数·知识
1104.北光c°3 小时前
【黑马点评项目笔记 | 登录篇】Redis实现共享Session登录
java·开发语言·数据库·redis·笔记·spring·java-ee