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)
	}
}
相关推荐
眠りたいです1 分钟前
现代C++:C++17中的新语言特性
开发语言·c++·c++17
一只旭宝3 分钟前
【C++入门精讲17】序列容器
开发语言·c++
只会写bug的靓仔4 分钟前
我把 Electron+Go 的 LOL 战绩工具重写成 Tauri+Rust,安装包从 128 MB 砍到 5 MB
golang·rust·electron
Demon1_Coder4 分钟前
Day1-SpringAI-1.0.0版本
java·开发语言·前端
郝学胜-神的一滴10 分钟前
Qt 高级开发 021:零基础吃透 QVBoxLayout 垂直布局
开发语言·c++·qt·程序人生·用户界面
basketball61613 分钟前
C++进阶:2. std::move 和 std::forward 函数
java·开发语言·c++
_oP_i13 分钟前
105、word 出现 {TOCO“1-2“HZ}
开发语言·c#·word
yong999015 分钟前
基于MATLAB的雷达数字信号处理
开发语言·matlab·信号处理
SilentSamsara17 分钟前
HTTP 客户端实战:httpx/重试/限速/连接池/中间件设计
开发语言·网络·python·http·青少年编程·中间件·httpx
江屿风22 分钟前
C++OJ题经验总结(竞赛)4
开发语言·c++·笔记·算法·dp·双指针