C++---vector与list之间的区别
vector与list都是STL序列式容器,由于底层实现原理不同,所以两个容器适用场景不同,我们在使用在使用两个容器时,不由得会将它们进行对比。
vector | list | |
---|---|---|
底层实现 | 动态顺序表,底层空间连续 | 双链表,底层空间不连续 |
插入与删除 | 插入与删除效率低,因为需要移动数据元素,时间复杂度为O(n) | 插入与删除效率高,不需要元素移动,时间复杂度O(1) |
空间利用率 | 底层空间连续,空间利用率高 | 空间不连续,空间利用率低,容易产生空间碎片 |
访问操作 | 支持随机访问,支持按下标访问 | 不支持随机访问,想访问只能从头遍历 |
迭代器 | 原生态指针 | 对原生态指针的封装 |
使用场景不同 | 空间小,需要随机访问 | 大量删除与插入操作,不需要随机访问 |
迭代器失效 | 扩容导致迭代器失效 | 删除导致迭代器失效 |
C++---vector与list之间的区别相关推荐
- 【蓝桥杯Java_C组·从零开始卷】第八节、集合——list详解(ArrayList、 LinkedList 和 Vector之间的区别)
ArrayList. LinkedList 和 Vector之间的区别 ArrayList. LinkedList 和 Vector都实现了List接口,是List的三种实现,所以在用法上非常相似.他 ...
- matlab里的scalar,scalar_scalar与vector之间的区别
scalar与vector之间的区别 有些物理量,既要由数值大?包括有关的单位),又要由方向才能完全确定.这些量之间的运算并不遵循一般的代数法则,而遵循特殊的运算法则.这样的量叫做物理矢量. 有些物理 ...
- 机器学习| 面试题:01、机器学习中LR(Logistic Regression)和SVM(Support Vector Machine)有什么区别与联系?
问题 机器学习中LR(Logistic Regression)和SVM(Support Vector Machine)有什么区别与联系? 背景 LR和SVM的概念大家都有了解甚至很熟悉了,不过在面试中 ...
- c++中list、vector、map 、set区别
List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]. Vector对于随机 ...
- [算法] - c++ list, vector, map, set ,hashmap, deque区别(一)vector
list不能随机访问,但vector可以,vector不能删除头部,而且插入删除的效率低. List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内 ...
- FPGA与ASIC:它们之间的区别以及使用哪一种?
FPGA与ASIC:它们之间的区别以及使用哪一种? FPGA Vs ASIC: Differences Between Them And Which One To Use? VL82C486 Sing ...
- Python 应用领域以及版本之间的区别
Python 应用领域以及版本之间的区别 一.Python应用领域 Python+人工智能,给你更多研究方向选择! 企业级综合实战项目,集六大前沿技术为一体 二. Python 2与Python 3的 ...
- java中separator_java - File.separator和路径中的斜杠之间的区别
java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...
- 机器学习、数据科学、人工智能、深度学习和统计学之间的区别!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Vincent Granville,来源:机器之心 在这篇文章中, ...
最新文章
- 学python语言用什么软件-对于自学python的初学者来说,应该使用什么编辑工具?...
- 搭建一个简易的https
- 惠普照片打印软件_被看错的打印机?原来打印机还可以这么玩
- android平板 深度学习,这款叫Remix的设备,或许可以拯救安卓平板
- 9553下载站java,java se development kit11最新版 64位
- 最牛逼的 Java 项目实战,没有之一!
- HTML5学习笔记(二)
- Toast 消息框应用。
- vue调用接口修改密码_vue开发前后端分离前端如何调用后端接口?
- 如何在Nature杂志上发表文章
- 产品经理 项目管理
- cups支持的打印机列表_CUPS共享打印机服务
- 百度C语言面试题2017,百度C语言面试题
- Python学习之路-NLP(人物提取)
- 怎么打开产品原型是html,如何打开产品原型图(axure)
- 【Error2013:2013 lost connection to MYSQL server在处理大量数据运行中报错解决方法】
- 我们是创业团队,实习前两月没钱,全栈每月800块!
- 恒生电子实习记录-10
- 魏文王问扁鹊的注释_扁鹊见魏文王是怎么回事 魏文王问扁鹊的典故故事
- 【Android驱动】aw9106驱动代码流程
热门文章
- [二分图]luogu 1640 连续攻击游戏
- Hbuilder连接安卓模拟器,调试app
- 重建控制文件--Rebuild controlfile
- MyEclipse 2014下搭建Android开发环境
- 破解 Ashley Madison 1100万个口令
- Oracle大表清理truncate .. reuse storage
- 如何过上简单的生活(转)
- 超级计算机TOP500、green500、graph500最新排名(2012.11)
- word无所不能之在word中浏览网页看电影
- dell 2950 raid阵列冷迁移方法