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

本文深入探讨了C++标准库中的三种容器:vector、list和deque。分别介绍了它们的存储方式、特点及适用场景,帮助读者理解何时选择何种容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • vector

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值