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

相关推荐
handler0123 分钟前
【算法模板】最小生成树:稠密图选 Prim,稀疏图选 Kruskal
c语言·数据结构·c++·算法
此生决int1 小时前
快速复习之数据结构篇——栈和队列
数据结构·c++
昵称小白1 小时前
子串专题部分
数据结构·算法·哈希算法
DogDaoDao2 小时前
【GitHub】System Informer:Windows 平台最强开源系统监控与调试利器
windows·程序员·开源·github·开发工具·system informer
HashFlag2 小时前
Codex配置Skill
windows·ai·mac·codex
idolao2 小时前
RayLink_v8.1.6.8安装步骤详解(附RayLink远程控制与设备码连接教程)
windows
ShoreKiten2 小时前
cpp考前急救
数据结构·c++·算法
诙_3 小时前
C++数据结构--AVL树
数据结构
Emberone4 小时前
C++ list 详解:从入门到模拟实现,彻底搞懂双向链表
c++·list
lingx_gps4 小时前
Windows 下安装领新北斗(TracSeek)车辆动态监控系统小白指南
windows·jt808·车辆监控·主动安全·jt1078·车辆定位