std:vector和std:map 查找,删除和插入问题

crazymumu0804 2015-04-24 02:58:28
我用数组存储最多200000个数据,大部分时间都没有这么多,是从ros的node里得到的。

问题是直接用vector查找和删除快呢,
还是先转化为map,然后再查找和删除,再转化为vector快呢。因为要以vector的形式再发到另一个node。

谢谢各位了。
...全文
372 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangtangtangbaoli 2015-04-24
  • 打赏
  • 举报
回复
vector是stl的数组实现,set是二叉树,折半,红黑查找等等算法的实现,用stl::set 应该更快些
老王爱上猫 2015-04-24
  • 打赏
  • 举报
回复
直接操作node吧
赵4老师 2015-04-24
  • 打赏
  • 举报
回复
没准直接用结构数组快。
FightForProgrammer 2015-04-24
  • 打赏
  • 举报
回复
考虑它们的底层实现的数据结构
xiaohuh421 2015-04-24
  • 打赏
  • 举报
回复
经常插入和删除是使用list比较快。 你转换为map, 那速度不是更慢。 转换是可能要花大量时间的。
fly_dragon_fly 2015-04-24
  • 打赏
  • 举报
回复
如果删除频繁且随机,用map
yangyunzhao 2015-04-24
  • 打赏
  • 举报
回复
vector不适合随机删除,会发生大量的数据移动

64,661

社区成员

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

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