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

相关推荐
FreeBuf_10 分钟前
黑客涉嫌兜售Windows远程桌面服务0Day漏洞利用程序
windows·0day漏洞
要开心吖ZSH10 分钟前
(三)OpenClaw 云端服务器控制本地 Windows 浏览器完整配置指南(SSH方式)
运维·服务器·windows·openclaw
小龙报19 分钟前
【算法通关指南:算法基础篇】二分算法: 1.A-B 数对 2.烦恼的高考志愿
c语言·开发语言·数据结构·c++·vscode·算法·二分
靠沿1 小时前
【优选算法】专题九——链表
数据结构·算法·链表
知智前沿2 小时前
OpenClaw 本地部署详细教程(Windows+Mac 双系统)
windows·macos
叶宇燚2 小时前
Java整理--数据结构篇
java·开发语言·数据结构
劳埃德福杰2 小时前
Windows电脑安装双系统如何切换默认开机系统
运维·windows·电脑
晚枫歌F2 小时前
btree B树实现key-value存储
开发语言·数据结构
wangchen_02 小时前
B树、B+树详解
数据结构·b树·哈希算法
无尽的罚坐人生2 小时前
hot 100 101. 对称二叉树
数据结构·算法·leetcode