go语言中list的插入删除遍历操作

寅恪光潜
领域专家: 人工智能技术领域
2022-11-26 17:28:56

数组跟列表看起来有点像,其实本质上区别很大,上一节的list构造,我们清楚是一种链表,里面类型是Any,就是什么类型都没有问题的,因为接收的值是interface{}接口

由于是链表形式,其遍历元素也是跟数组等都不一样,需从头Front开始一个一个Next出来

package main

import (
	"container/list"
	"fmt"
)

func main() {
	l := list.New()
	v1 := l.PushBack(110)
	v2 := l.PushFront("Hello")
	l.InsertAfter("我在v1后面", v1)
	l.InsertBefore("我在v2前面", v2)
	l.InsertBefore(true, v2)

	for e := l.Front(); e != nil; e = e.Next() {
		fmt.Printf("%v ", e.Value)
	}
	fmt.Println()
	//我在v2前面 true Hello 110 我在v1后面

	l.Remove(v2)
	for e := l.Front(); e != nil; e = e.Next() {
		fmt.Printf("%v ", e.Value)
	}
	//我在v2前面 true 110 我在v1后面
}

 

...全文
90 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-编程语言 发布问题, 以便更快地解决您的疑问

198

社区成员

发帖
与我相关
我的任务
社区描述
从零开始的小白到进阶成技术达人。 一起学习,一起进步。
golanggo1.19 个人社区 贵州省·贵阳市
社区管理员
  • 寅恪光潜
  • 网络豆
  • Somnus_小凯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

Go语言集各语言优势之大成,从基础到进阶

一起学习,一起进步,成为技术达人!

试试用AI创作助手写篇文章吧