找回密码
 立即注册
奇速版本论坛200M带宽开服微端链接失效申报超级稳定服务器抗攻击
点击金币投放广告点击金币投放广告点击金币投放广告点击金币投放广告
楼主: alkj111

字典初始化赋值时自动排序混乱导致实用性不佳

[复制链接]

26

主题

363

回帖

803

积分

版主

积分
803
 楼主| 发表于 2024-7-7 11:04:17 | 显示全部楼层
lm11000 发表于 2024-7-6 01:06
都说了是无序的了,你以为赋值就有序了吗

这不是你说无序他就是无序的。

一个个inc 进去的字典,就是有序排列的,为什么不按你说的无序排序?
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

26

主题

363

回帖

803

积分

版主

积分
803
 楼主| 发表于 2024-7-7 11:05:42 | 显示全部楼层
lm11000 发表于 2024-7-6 01:06
都说了是无序的了,你以为赋值就有序了吗

字典可以使无序的。
当然也可以是有序的。
当然也可以按键或值进行排序。
这个底层程序不是我写的,我们控制不了,但是并不是字典就是无序存放就是真理。
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

44

主题

106

回帖

452

积分

中级会员

积分
452
发表于 2024-7-7 15:10:28 | 显示全部楼层
alkj111 发表于 2024-7-7 11:05
字典可以使无序的。
当然也可以是有序的。
当然也可以按键或值进行排序。

除非风大乱写,否则绝大多数字典的数据结构就是按照hash映射来排序的,但是对于人类来说,这个hash映射根本无法识别,所以可以直接理解为无序.
另外,部分有一定顺序结构的字典语言,如C#中就算你按顺序插入,一旦你从中间remove,然后再add新的进去,因为字典并不会自动位移,新add的元素会自动填空到被remove的洞中还不是在最后位置add.
所以简而言之,对于所有的编程语言来说,字典都是无序的.
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

26

主题

363

回帖

803

积分

版主

积分
803
 楼主| 发表于 2024-7-7 21:43:12 | 显示全部楼层
lm11000 发表于 2024-7-7 15:10
除非风大乱写,否则绝大多数字典的数据结构就是按照hash映射来排序的,但是对于人类来说,这个hash映射根本 ...

虽然我会的语言不多,不过我知道phyton就能进行字典排序,按键按值都可以,但从字典的功能和用途上理解,大部分语言应该是都有字典排序命令的,明显,我们更需要一个有序的字典。
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

23

主题

51

回帖

238

积分

中级会员

积分
238
发表于 2024-7-11 22:45:22 | 显示全部楼层
字典不是数组,字典是二叉树的形式保存,所以他的插入顺序是无序的。

不能把字典当成数组使用。你想保证插入循序一致,请使用数组。所以这不是BUG。
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

44

主题

106

回帖

452

积分

中级会员

积分
452
发表于 2024-7-11 23:01:48 | 显示全部楼层
alkj111 发表于 2024-7-7 21:43
虽然我会的语言不多,不过我知道phyton就能进行字典排序,按键按值都可以,但从字典的功能和用途上理解, ...

部分语言有提供字典的拓展类,如sortDictionary等.但是是属于拓展,单纯的字典是没有的,所以不能算BUG.只能说还没有这部分功能,可以考虑做有元人让风大写个
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

26

主题

363

回帖

803

积分

版主

积分
803
 楼主| 发表于 2024-7-11 23:27:14 | 显示全部楼层
高启强 发表于 2024-7-11 22:45
字典不是数组,字典是二叉树的形式保存,所以他的插入顺序是无序的。

不能把字典当成数组使用。你想保证插 ...

字典的逐一插入是有序的

另外这个是字典初始化后数据乱序,不是插入某个值,也不插入
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

5

主题

24

回帖

201

积分

中级会员

积分
201
发表于 2024-7-12 09:01:48 | 显示全部楼层
确实啊,不能排序实用性不大,不如数组
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

1

主题

6

回帖

29

积分

新手上路

积分
29
发表于 2024-8-9 01:00:44 | 显示全部楼层
大部分编程语言,的数组排序都分 number 排序和  字符串排序,字符串排序 肯定是无序的, 你想要有序,你就 用数字  当键   字符当值, 键为字符的时候,没有办法按顺序排序
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翎风引擎论坛 |网站地图

GMT+8, 2025-5-1 13:24 , Processed in 0.044551 second(s), 26 queries , Gzip On, Redis On.

Powered by haom2 X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表