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 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
闪电悠米13 小时前
力扣hot100-41.缺失的第一个正数-原地哈希详解
数据结构·算法·哈希算法
WL学习笔记13 小时前
堆(数据结构)
数据结构·
骑上单车去旅行14 小时前
MD5校验对比脚本
linux·服务器·windows
FreeBuf_16 小时前
Windows NT OS内核提权漏洞PoC已公开
windows
wabs66617 小时前
关于图论【卡码网100.最大岛屿的面积的思考】
数据结构·算法·图论
雲帝17 小时前
Windows虚拟机UDP大包分片排障
windows·网络协议·udp
李少兄18 小时前
Windows 键盘快捷键指南
windows·计算机外设·快捷键
寒水馨18 小时前
Windows下载、安装scrcpy-v4.1(附安装包scrcpy-win64-v4.1.zip)
windows·scrcpy·投屏工具·安卓投屏·usb调试·android投屏·屏幕镜像
yuannl1019 小时前
图的最短路径Dijkstra
数据结构