list和vector的区别

1>list可以按值删除

vector和deque没有给定的函数,需要find();和erase();一起使用才能做到

2>list删除元素会释放空间,vector不会

3>list是双向迭代器,vector是随机迭代器

4>list内部排序是指针指向的更改,vector涉及对象的创建和销毁

5>vector改变元素,导致迭代器失效

deque删除的时候不会导致迭代器失效(非迭代器位置),插入会导致迭代器失效

list删除元素导致当前迭代器失效,不影响其他迭代器

6>vector是连续存储容器,动态数组

list是动态双向链表

7>vector连续空间,不容易产生内部碎片

list节点不连续,容易造成内部碎片,空间利用率低

8>vector访问具有局部性,存放高速缓存

list存放内存

相关推荐
醇氧13 分钟前
WSL2(Windows Subsystem for Linux ) 从入门到实践指南
linux·运维·服务器·windows·学习
睡觉就不困鸭43 分钟前
第十八天 有效的括号
数据结构·算法
Python私教1 小时前
HermesAgent 在 Windows 原生环境安装运行指南
windows
H Journey1 小时前
Windows + VSCode + CMake 编译
windows·vscode·cmake
浅念-1 小时前
分治算法专题|LeetCode高频经典题目详细题解
数据结构·c++·算法·leetcode·职场和发展·排序·分治
KivenMitnick2 小时前
CialloVOL 1.2:便捷好用的轻量化内存取证分析平台
windows·python·安全·网络安全·flask·系统安全·安全威胁分析
Irissgwe2 小时前
优选算法精讲(专题一)
数据结构·算法
睡觉就不困鸭2 小时前
第十五天 反转字符串
数据结构·算法
并不喜欢吃鱼2 小时前
从零开始C++----九【C++ 数据结构】搜索二叉树(BST)全解析:从定义到实现,一篇搞定
数据结构
阿昭L2 小时前
使用内核对象进行线程同步
windows·线程同步