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

相关推荐
百事牛科技15 分钟前
保护文档安全:PDF限制功能详解与实操
windows·pdf
一个人旅程~28 分钟前
如何用命令行把win10/win11设置为长期暂停更新?
linux·windows·经验分享·电脑
qq_4542450343 分钟前
基于组件与行为的树状节点系统
数据结构·c#
超级大福宝43 分钟前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
岛雨QA2 小时前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc2 小时前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
wefg12 小时前
【算法】单调栈和单调队列
数据结构·算法
一个假的前端男2 小时前
[特殊字符] Flutter 安装完整指南 Windows—— 2026最新版
windows·flutter
岛雨QA2 小时前
图「Java数据结构与算法学习笔记12」
数据结构·算法
czxyvX2 小时前
020-C++之unordered容器
数据结构·c++