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存放内存

相关推荐
春弦_10 分钟前
自用算法整理二
数据结构·算法·图论
xxxiugou1235 小时前
链表算法题精讲:从两数相加到K组翻转
数据结构·c++·算法·链表
paul_chen216 小时前
解决Windows “此电脑”出现两个“图片”文件夹的问题
windows
SoulRoar.7 小时前
在 Windows 上面部署 StartLux
windows·大模型·startlux
爱吃提升7 小时前
DirectX修复工具安装配置教程-运行权限检测修复与运行库更新参数速查
windows
ddshub_cc9 小时前
Claude Code 接入 DDS Hub:Windows/macOS 配置、验证与报错排查
windows·macos·ai编程·claude·codex·ai模型·aiapi
第25小时记录9 小时前
[windows] windows下将文件夹映射为磁盘
windows
天空有片七色的云9 小时前
AutoTrigger:开源的 Windows 离线安装自动化工具(GUI+CLI,自动操作安装向导)
windows
悠仁さん9 小时前
【算法C++】双指针(一)
数据结构·c++·算法
YukiRinLL9 小时前
字符串存储与 BF、KMP 匹配算法
数据结构·算法