C++ vector和list的区别及使用场景
区别:
1、vector底层是连续结构;list底层是非连续结构
2、vector支持随机访问;list不支持随机访问
3、vector迭代器是原生指针;list迭代器是封装结点的一个类
4、vector在插入和删除时可能会导致迭代器失效;list在删除的时候会导致当前迭代器指向的结点失效
5、vector不容易造成内存碎片,空间利用率高;list容易造成内存碎片,空间利用率低
6、vector在非尾插,删除的时间复杂度为O(n),list在任何地方插入和删除的时间复杂度都为O(1)
使用场景:
vecotr需要高效存储,支持随机访问,不关心插入删除效率;list大量插入和删除操作,不关心随机访问
C++ vector和list的区别及使用场景相关推荐
- Java并发编程之:Vector和ArrayList的区别
2019独角兽企业重金招聘Python工程师标准>>> Java中Vector和ArrayList的区别 首先看这两类都实现List接口,而List接口一共有三个实现类,分别是Arr ...
- vector和deque的区别?
vector和deque的区别? vector概述 vector的数据结构 vector的构造与内存管理 deque deque概述 deque的构造与内存管理 vector和deque的区别 vec ...
- vector 和 list 的区别,应用
vector 和 list 的区别,应用 1)Vector 2.List 3.应用 1)Vector 连续存储的容器,动态数组,在堆上分配空间 底层实现:数组 两倍容量增长: vector 增加(插入 ...
- 【重难点】【Java集合 03】ArrayList、LinkedList、 Vector 和 Stack 的区别、CopyOnWriteArrayList
[重难点][Java集合 03]ArrayList.LinkedList 和 Vector 的区别.util 包下的 List.CopyOnWriteArrayList 文章目录 [重难点][Java ...
- C++ vector和list的区别
C++ vector和list的区别 1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变. 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连 ...
- 【C++容器】数组和vector、array三者区别和联系
目录 一.数组 二.向量vector 三.数组与vector的对比 array和vector,数组三者区别和联系 共同点 不同点 作者:bandaoyu,本文不断更新,源文:https://blog. ...
- vector和list的区别
1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变. 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造 ...
- java 常用集合list与Set、Map区别及适用场景总结
转载请备注出自于:http://blog.csdn.net/qq_22118507/article/details/51576319 list与Set.Map区别及适用场景 1.List,Set都 ...
- 集合-Vector 的常用方法源码及使用场景
Vector 继承关系 public class Vector<E>extends AbstractList<E>implements List<E>, Rando ...
最新文章
- 错误	1	“System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可访问,因为它受保护级别限制...
- as3:sprite作为容器使用时,最好不要指定width,height
- 音视频播放器—快进快退及逐帧播放
- php 滑块 爬虫_php中强大爬虫工具querylist
- html超链接本地链接,为何本地连接变成本地连接2连接
- 初学者该掌握的计算机知识,初学者该如何学习电脑知识
- TK1安装Caffe
- Win32_Keyboard 键盘 参数说明
- private、fileprivate、public、open
- 艺赛旗(RPA)Python:遍历输出某路径下的所有文件和文件夹
- np.meshgrid plt.contourf
- Trajectory Optimization
- mysql的blob字段存储中文,输出乱码
- DDR地址容量计算与理解
- AVG2013nbsp;杀毒软件激活nbsp;…
- php mysql查询日期,​mysql查询日期的方法
- 携职教育:系统集成项目管理工程师报名一直待审核怎么办?
- java 8 lambda·List操作
- 学习考察清华大学航院天行杯科创成果心得报告
- OpenGL 学习系列--基础的绘制流程
热门文章
- 计算机原子指令,计算机体系结构——多线程(核)访存“上锁”——原子指令...
- java 日志技术_java 日志技术汇总(log4j , Commons-logging,.....)
- jquery双击一行跳转页面_Word软件使用小技巧,鼠标双击在不同操作对象中有不同的功能...
- 什么是python自动化脚本_python自动化框架脚本
- matlab误比特率,[转载]使用Matlab进行误比特率仿真
- Java停车场管理系统使用栈和队列任务台程序
- HTML绘制机器人代码,C#编写机器人PCSDK程序-界面程序上画机器人跟着画
- 关于SQL server事务
- java通过jdbc访问mysql,update数据返回值的思考
- 解决 iframe 后退不是主页面后退(浏览器 history)问题