【C++】STL常用容器总结之十一:容器小结

本文总结了C++ STL中的常见容器,包括Vector、Deque、List的特点与适用场景。Vector适用于随机访问,Deque在头部和尾部插入删除高效,List则擅长中间插入删除。在选择容器时,需考虑操作频率和类型,以实现性能最优。通过实践和理解底层数据结构,能更好地运用STL容器。
摘要由CSDN通过智能技术生成

12、容器小结

1、容器的选用

Vector和deque容器提供了对元素的快速访问,但付出的代价是,在容器的任意位置插入或删除元素,比在容器尾部插入和删除的开销更大,因为要保证其连续存储,需要移动元素;list类型在任何位置都能快速插入和删除,因为不需要保证连续存储,但付出的代价是元素的随机访问开销较大。特征如下:
- 与vector容器一样,在deque容器的中间insert或erase元素效率比较低;
- 不同于vector容器,deque容器提供高效地在其首部实现insert和erase的操作,就像在尾部一样;
- 与vector容器一样而不同于list容器的是,deque容器支持对所有元素的随机访问。
- 在deque容器首部或尾部删除元素则只会使指向被删除元素的迭代器失效。在deque容器的任何其他位置的插入和删除操作将使指向该容器元素的所有迭代器都失效。

2、容器的比较

  • Vector:连续的空间存储,可以使用[ ]操作符。Vector可以快速访问随机的元素,快速的在末尾插入元素,但是在序列中间随机的插入、删除元素要慢,而且如果一开始分配的空间不够的话,有一个重新分配更大空间,然后拷贝的性能开销。
  • Deque:小片的连续,小片间用链表相连,实际上内部有一个map的指针,因为知道类型,所以还是可以使用[ ],只是速度没有vector快。Deque可以快速访问随机的元素,快速的在开始和末尾插入元素,随机的插入、删除元素要慢,空间的重新分配要比vector快,重新分配空间后,原
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值