最新要闻
- 北京警方依法行政拘留冲入球场拥抱梅西的球迷
- 女子拆145个盲盒拒付款!父亲称其有精神病闹上法庭:结果出来了
- 每日观察!电影《消失的她》预售票房破千万:陈思诚监制 倪妮主演
- 广东暴雨积水成河:有人屋内钓鱼 有人"水上摩托"
- 每日播报!不再依赖进口 国产磁共振医疗装备重大突破:绰号“白胖子”
- 天天观点:未通过网络安全审查 禁止采购!美光宣布在中国投资超43亿元
- 6月16日基金净值:景顺长城远见成长混合A最新净值1.1679,涨2.43% 要闻速递
- 2023高考英语作文预测热门话题_2018热门话题新闻作文100字
- 每日看点!iso怎么转换为gho_怎样才能把ISO文件转换成GHO文件 1111
- 嵩山少林塔沟武校学费_嵩山少林塔沟武校
- 《云顶之弈》网页版云游戏上线:PC互通 手机点开就能玩
- 环球快资讯丨最美“小丑女”演女主!《芭比》真人电影国内定档:7月21日上映
- 环球今头条!玩家哭了!女子带100张《塞尔达传说:王国之泪》卡带入境被海关查获
- 一之濑拓实和小松奈奈第一次见面(一之濑拓实)_天天快消息
- 今日视点:美股盘初:Adobe涨约5%,维珍银河涨超45%
- 普通人也能太空旅行 我国将推出商业航天项目:最快5年后|全球要闻
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
go语言list表
在go中的list表属于双向链表,表头部的prev和尾部的next同时指向一个相同的地址,从而实现了一个环。list的零值是一个准备使用的空列表。
(资料图片仅供参考)
源码:https://cs.opensource.google/go/go/+/refs/tags/go1.20.5:src/container/list/list.go
document:https://pkg.go.dev/container/list#pkg-overview
要使用list需要从container包引入。
list的方法
Next() : 返回下一个元素或nil
Prev(): 返回上一个元素或nil
Back(): 返回列表的最后一个元素,如果列表为空,则返回nil
Front(): 返回列表的首个元素,如果列表为空,则返回nil
Init(): 初始化或清空列表
InsertAfter(): 在某指定元素后插入
InsertBefore(): 在某指定元素前插入
Len(): 返回元素的个数,时间复杂度是O(1)
MoveToBack()、MoveToFront():将list中的某个元素移动到尾部/头部。如果元素不属于列表中的,则不会修改,元素必须不为nil。
MoveAfter(e,mark)、MoveBefore(e,mark): 将元素e移动到mark后面/前面,如果元素e或mark不属于list中的元素,或者e==mark,则不修改;e和mark不能是nil
PushBack()、PushFront()、Remove()见名知意
PushFrontList()、PushBackList(): 在列表的首部/尾部插入另外一个列表,他们不能为空。
方法示例:
package mainimport ( "container/list" "fmt")func main() { s := make([]int, 5) l := list.New() l2 := list.New().Init() fmt.Printf("%T %+[1]v %p\n", l, &l) fmt.Printf("%T %+[1]v %p\n", l2, &l2) l2.PushBack("gopher") l2.PushBack("come on") l.PushBack(2) l.PushFront("first") l.PushBack("你好吗") e := l.Front().Next() l.InsertAfter("c", e) l.InsertBefore(3.14, e) l.InsertBefore(s, e) l.PushBack("last") l.PushBackList(l2) // 将l2列表尾部加入到l列表中 e1 := l.Back().Prev().Prev() // 获取尾部的上一个的上一个元素 l.MoveToBack(e1) // 将“last”移动到尾部 l.MoveAfter(l.Back().Prev().Prev(), l.Front().Next()) // 将某个元素移动到某个元素后面 l.Remove(l.Front().Next()) // 移除某个元素 fmt.Printf("%T %+[1]v %p\n", l, &l) for i := l.Front(); i != nil; i = i.Next() { fmt.Printf("%T %[1]v\n", i) fmt.Println(i.Next()) }}示例0
list结构体
示例:*list.List &{root:{next:0xc000076510 prev:0xc000076510 list:
下面是一个示例
package mainimport ( "container/list" "fmt")func main() { s := make([]int, 5) l := list.New() fmt.Printf("%T %+[1]v %p\n", l, &l) l.PushBack(2) l.PushFront("first") l.PushBack("你好吗") e := l.Front().Next() l.InsertAfter("c", e) l.InsertBefore(3.14, e) l.InsertBefore(s, e) l.PushBack("last") fmt.Printf("%T %+[1]v %p\n", l, &l) for i := l.Front(); i != nil; i = i.Next() { fmt.Printf("%T %[1]v\n", i) }}示例1
我在执行了上面的代码后,返回是这样的:
*list.List &{root:{next:0xc000076510 prev:0xc000076510 list:Value: } len:0} 0xc00000a028*list.List &{root:{next:0xc0000765a0 prev:0xc000076690 list: Value: } len:7} 0xc00000a028*list.Element &{0xc000076630 0xc000076510 0xc000076510 first}*list.Element &{0xc000076660 0xc0000765a0 0xc000076510 3.14}*list.Element &{0xc000076570 0xc000076630 0xc000076510 [0 0 0 0 0]}*list.Element &{0xc000076600 0xc000076660 0xc000076510 2}*list.Element &{0xc0000765d0 0xc000076570 0xc000076510 99}*list.Element &{0xc000076690 0xc000076600 0xc000076510 你好吗}*list.Element &{0xc000076510 0xc0000765d0 0xc000076510 last}
从返回中,可以看到头部元素的prev和尾部元素的next都指向了0xc000076510 地址,通过这个地址完成了list的闭环。下面我使用图来表达,地址简写为后三位表达:
疑问:
1、上面示例中,在遍历元素的时候,发现每次都会打印0xc000076510这个指针,这是个什么指针?为什么每个元素都包含?
答:因为在使用list.New()来创建一个列表的时候,是创建了一个 list.List
实例,而该实例的所有元素都是通过该实例的指针进行访问和操作的。
具体来说,每个元素都是 list.Element
类型的结构体,其中包含了 Value
字段表示节点的值,以及 Next()
和 Prev()
方法表示指向下一个节点和上一个节点的指针。第三个指针就是表达指向该元素所在的 list.List
实例的指针。所以每次打印都会相同。
关键词:
go语言list表
北京警方依法行政拘留冲入球场拥抱梅西的球迷
女子拆145个盲盒拒付款!父亲称其有精神病闹上法庭:结果出来了
每日观察!电影《消失的她》预售票房破千万:陈思诚监制 倪妮主演
广东暴雨积水成河:有人屋内钓鱼 有人"水上摩托"
每日播报!不再依赖进口 国产磁共振医疗装备重大突破:绰号“白胖子”
天天观点:未通过网络安全审查 禁止采购!美光宣布在中国投资超43亿元
6月16日基金净值:景顺长城远见成长混合A最新净值1.1679,涨2.43% 要闻速递
2023高考英语作文预测热门话题_2018热门话题新闻作文100字
每日看点!iso怎么转换为gho_怎样才能把ISO文件转换成GHO文件 1111
Kotlin协程-从理论到实战
常见WebShell的流量特征
今日报丨01. 组建知识星球服务体系
嵩山少林塔沟武校学费_嵩山少林塔沟武校
《云顶之弈》网页版云游戏上线:PC互通 手机点开就能玩
环球快资讯丨最美“小丑女”演女主!《芭比》真人电影国内定档:7月21日上映
环球今头条!玩家哭了!女子带100张《塞尔达传说:王国之泪》卡带入境被海关查获
一之濑拓实和小松奈奈第一次见面(一之濑拓实)_天天快消息
今日视点:美股盘初:Adobe涨约5%,维珍银河涨超45%
普通人也能太空旅行 我国将推出商业航天项目:最快5年后|全球要闻
世界时讯:阿里总裁谈马云近况:他在东京教书 很开心
资讯:奥运冠军苏翊鸣获得清华大学保送资格 发文感谢:18岁三个愿望都实现了
法官曼司亚:一起离婚案件她跟踪回访了12年
当前关注:聊聊Flink必知必会(四)
【世界快播报】Kotlin协程-从一到多
金科地产8.8亿元债券本息未按期偿付 持有人会议仍在表决中 新动态
向佐晒儿子周岁宴,现场紧搂郭碧婷秀恩爱,儿女露正脸都是高颜值_快资讯
江淮钇为3上市:最长续航600公里、8.99万元起_天天资讯
酷睿Ultra来了!Intel史上最混乱一代 还有马甲
谨慎下载 Win10 ISO镜像被黑客下马:攻击手法罕见_环球热消息
报道:博尔特4x100
LGV引理
【世界新要闻】Docsify on VPS,搭建最简个人博客
先正达集团IPO过会 沪市主板即将迎来全球农业龙头企业
今日热文:手握手的承诺 心贴心的服务_手握手
男孩玩氢气球砸到吹风机爆燃 妈妈被严重烧伤:画面触目惊心
美国能源部资助Intel 1220万元:开发2000W散热技术-天天热资讯
狂喝红牛能抗老?
不忘挖井人!奔驰Vision One-Eleven概念车首发:致敬经典实验车|天天速读
刷新纪录!41颗卫星共乘一枚火箭座位怎么排:全靠它了
精选!蜂蜜的种类
结案了!in到底用不用索引,啥时候能用啥时候不能用-天天新消息
lua中 . 和 : 的区别
港人北上消费升温 香港零售业对人流量持乐观态度_世界新消息
前沿资讯!欧盟机构:6月初全球平均气温创纪录
世界百事通!理想MPV设计手稿曝光 李想:设计灵感不是和谐号 而是鲸鱼
女儿高考完提出3个要求妈妈崩溃:养了个祖宗|天天速看
土星卫星首次发现高浓度磷元素 地外生命真的存在?
美商海盗船发布新款DARKSTAR鼠标:15个可编程按键
2399元的RTX 4060即将开卖 专家称英伟达还得涨:显卡份额突破76%
[路演]金杨股份首次公开发行股票并在创业板上市网上路演今日在全景网成功举办
世界简讯:网易云心动模式为什么会播不是喜欢的音乐(网易云的心动模式在哪)
元数据在数字化时代中的应用与发展
记录--设计一个可选择不连续的时间范围的日期选择器
聊聊Flink的必知必会(三)
【活动访谈】发力数字基座 推动物联创新—航天科技控股集团AIRIOT4.0平台发布会活动专访 天天短讯
即时焦点:曝光!Apache SeaTunnel Catalog 功能设计为何能大大简化用户启用步骤?
财政部:1-5月全国一般公共预算收入同比增长14.9% 一般公共预算支出同比增长5.8%
新美男记_关于新美男记简介
当前资讯!高考考生们这些“套路”骗局要当心:千万别信
环球观热点:小哥十米高跳江救人!老家张家界奖励10万元外加一套房
16针显卡供电接口闯大祸!第一次把电源烧了
全球实时:HDD硬盘被垄断 倪光南院士:SSD取代的时机到了
iPhone 15 Pro Max影像这下拉满了!看不到短板
景区观光车这价格,吃相太难看了
环球热讯:两部门印发文件部署高校毕业生档案转递接收工作
Kubernetes 1.27.2集群安装|每日热讯
单体服务,微服务服务的演变 & 各自优缺点
世界观焦点:javaScript基础语法之正则表达式
国网集安市供电公司:开展端午节前作风建设监督检查
世界要闻:比法拉利更抢眼!理想设计师亲自“泄密” W01设计手稿公布
苦中作乐!广东暴雨积水成河:有人屋内钓鱼 外卖车成水上摩托-当前滚动
快报:顾客遇账单刺客8碗米饭要90元 餐厅反驳:为了拍段子蹭流量
热到怀疑人生!今年“烧烤模式”来得早
每日视讯:RTX 4080显卡杀到8399元 铭瑄618全程价保:硬核装备开抢
FOreverLove什么意思中文
全球热门:远程办公篇-vscode远程SSH开发
和必应对话之mysql分区分表
天天日报丨位运算与集合
镜像,容器,容器数据卷,DockerFile 相关命令 使用总结 全球资讯
今日视点:胸部怎样才算不下垂_胸部怎样才能变大
全球今日讯!Facebook首席AI专家表示, 大语言模型只是昙花一现
好多明星去看了梅西比赛:陈妍希、苏醒等人都在现场_全球快播
世界看热讯:余承东:比亚迪是未来能活下来的巨头之一 华为能帮车企活下来
余承东:问界M5智能驾驶能力全球第一 超越特斯拉、国内外所有同行 天天快播
李一男造车梦“复活”自由家NV换标大乘V07已通过工信部申报
全球要闻:一口降温夏日必备!迷你可爱多冰淇淋官旗发车:每支不到1块钱
【天天速看料】邓一杰:黄金破1962,保守调仓,激进持仓!
当前头条:冬天适合在室内养什么植物_冬天室内养什么植物好 冬天适合室内种植的植物介绍
梅西ins发文感谢中国粉丝:开场81秒就进球 打破职业生涯记录 快看点
离谱!代驾设套碰瓷13名代驾同行:故意选土路蹭底盘 世界快消息
梅西直播被吐槽广告多?回应来了:纯聊天 没有带货_每日热议
苹果iPhone为何只有27W充电?原因可能有三 焦点速读
韩媒:韩国年轻人迷上中国App无法自拔 实在太好用了-全球讯息
速看:液冷概念股震荡走高 飞龙股份拉升封板
天天微头条丨CHAT-GPT初使用
唐源电气6月16日盘中跌幅达5%
男子突发奇想将甜瓜和西瓜嫁接 网友看完大笑:这是焊接_每日观察
环球观焦点:交通拥堵为何不禁私家车?这座一线城市要限电动自行车 只是试运行 专家吐槽
罕见!巨鸟撞碎玻璃卡在飞机舱,飞行员满脸血仍淡定驾驶……_全球今热点