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

相关推荐
Zachery Pole6 小时前
CCF-CSP备战NO.5链表(1)
数据结构·链表
wabs66613 小时前
关于图论【卡码网110.字符串迁移的思考】
数据结构·算法·图论
数据知道13 小时前
Windows 安全基线:组策略、UAC、Defender 深度配置
windows·安全·网络安全
大模型码小白16 小时前
在 Windows 下 Codex 安装、配置与使用详细指南
java·人工智能·windows
小小龙学IT16 小时前
C++ Placement New 与显式析构:手动对象生命周期管理的艺术
c++·windows·mfc
oier_Asad.Chen16 小时前
【洛谷题解/AcWing题解】洛谷P4011 孤岛营救问题/AcWing1131拯救大兵瑞恩
数据结构·笔记·学习·算法·动态规划·图论·宽度优先
luyun02020217 小时前
论坛里的小工具,吾爱出品
运维·服务器·windows
冻柠檬飞冰走茶17 小时前
PTA基础编程题目集 7-19 支票面额(C语言实现)
c语言·开发语言·数据结构·算法
老王生涯18 小时前
rust开发环境配置-Windows & GNU
开发语言·windows·rust
nLif18 小时前
进程管道通讯-伪终端方式
c++·windows