c++ vector 遍历速度为什么比list快

 我来答
百度网友c3429cf
2018-11-11
知道答主
回答量:3
采纳率:0%
帮助的人:2209
展开全部
一维大量静态数据用数组,一维少量动态数据用链表,都是单向的,既可以访问有数组的速度,又可以操作链表的速度,两维操作最佳,标准库2.0之后有个unordered可以直接这样操作不用自己定义,可以试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友79d5913
2016-11-23 · TA获得超过2245个赞
知道大有可为答主
回答量:1325
采纳率:83%
帮助的人:278万
展开全部
1、vector
  连续存储结构,每个元素在内存上是连续的;
  支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操作效率低下;

  2、deque
  连续存储结构,即其每个元素在内存上也是连续的,类似于vector,不同之处在于,deque提供了两级数组结构,第一级完全类似于vector,代表实际容器;另一级维护容器的首位地址。
  这样,deque除了具有vector的所有功能外,还支持高效的首端插入/删除操作。

  3、list
  非连续存储结构,具有双链表结构,每个元素维护一对前向和后向指针,因此支持前向/后向遍历。
  支持高效的随机插入/删除操作,但随机访问效率低下,且由于需要额外维护指针,开销也比较大。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式