map中保存元素的顺序是否会改变?

rich21cn2005 2005-10-11 10:47:34
我创建一个map集合,里面保存一些元素不变(或者元素只增不减),请问,使用遍历的方法输出其中的元素,同一位置上每次得到的结果会相同吗?例如:从begin()开始的第5个
...全文
688 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowbirdfly 2005-10-12
  • 打赏
  • 举报
回复
插入或删除元素时,同一位置上每次得到的结果不可能保证相同
这个很好理解:
因为map集合里面元素是自动有序排列~
所以插入一个中间值,由于不能违背上面的规则,所以位置会发生变动,结果也就不相同~~~
ZhengxinLiu 2005-10-12
  • 打赏
  • 举报
回复
map会根据key值进行排序,默认是<规则
deping_chen 2005-10-12
  • 打赏
  • 举报
回复
插入或删除元素时,同一位置上每次得到的结果不可能保证相同
yingle2000 2005-10-12
  • 打赏
  • 举报
回复
key不变的话位置不会变。
key已经变了的话位置就有可能发生变化了。
Jinhao 2005-10-12
  • 打赏
  • 举报
回复
他们的distance,可能会变
因为map内部是一个RB-Tree,也就是说,如果有插入新元素的时候,可能会变
rich21cn2005 2005-10-11
  • 打赏
  • 举报
回复
如果前后两次访问过程中map不改变呢?其内容不变,map中的元素顺序应该不变,同一位置的元素应该相同吧?
fiftymetre 2005-10-11
  • 打赏
  • 举报
回复
会的,会根据key,按一定的算法自动排序以方便查找

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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