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)
	}
}
相关推荐
小羊没烦恼!10 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读11 小时前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
ttwuai11 小时前
Go开源后台管理系统推荐:怎么按技术栈和边界比较4个官方仓库?
golang·gin
C语言小火车12 小时前
C/C++ 为什么需要编译器?
开发语言·c++
codeejun12 小时前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
霍霍的袁13 小时前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超13 小时前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int13 小时前
深入理解C++系列(20)——C++11(下)
开发语言·c++
Achou.Wang13 小时前
k8s中nginx worker process自动设置
后端·golang
CoderYanger15 小时前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法