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

相关推荐
H.莓飛6 分钟前
【数据结构】队列_OJ题
linux·数据结构·centos
H.莓飛22 分钟前
【数据结构】栈_OJ题
linux·数据结构·算法·centos
Vex2une1 小时前
Windows 任务管理器发展史:从 80KB 救急工具到系统级监控平台
windows·进程管理·性能监控·任务管理器·winui·cpu使用率·taskmgr
平行侠2 小时前
065 B树(B-Tree)
数据结构·b树·树查找
Vex2une3 小时前
Windows 12 新功能展望:AI 深度融合、全新界面与下一代生产力体验
人工智能·windows·copilot·winui·新功能·ai pc
LRL_3 小时前
【实战指南】Node.js 跨平台依赖下载:如何在 Windows/Linux 环境下互跨下载目标系统的 npm/pnpm 包
linux·windows·node.js
言乐64 小时前
Python文字审核模型
开发语言·windows·python·django·pygame
lvwangshu4 小时前
势能分析(摊还分析)
数据结构·数学·算法
All for pursuit.6 小时前
【贪心-4】581.最短无序连续子数组
数据结构·c++·算法·leetcode
释厄6236 小时前
01AB 基本元理——任何智能体的三元法理·0=1→0≠1法理跃迁为天理
人工智能·windows·算法·microsoft·机器学习