顺序存储结构(理解vector,list,deque何时适用)

  • vector

    动态数组,取代C语言要自己手动申请数组,这是最常用的,在内存存储就是按照顺序的存放,简单就理解为数组,其特点也就是可以高效随机访问。
  • list

    双向链表, 就是C语言理解的双向链表,在内存存储是随机存储,以链式结构连接,其特点是可以高效地随机插入
  • deque

    双向队列,但是不是数据结构的队列,可以理解为动态数组和双向链表的结合,其有上面两者的特点,但是又没有其各自的高效,其存储结构是先按顺序存储,遇到中间插入、后部内存已占用或者头部插入等就是重新找个地方,继续顺序存储,而各部分链式相连(简单的讲就是找位置先能顺序存放,没位置继续顺序再找个地方继续顺序存放),其特点结合两者。

使用哪个容器合适,就看你的需求:

1.如果有大量的随机访问,而插入和删除操作较少,应该使用vector;
2.如果有大量的插入和删除,而随机访问较少,应该使用list;
3.如果既有很多的插入和删除,又有很多的随机访问,那么deque是个不错的选择。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值