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

相关推荐
Ialand~44 分钟前
深度解析 Rust 的数据结构:标准库与社区生态
开发语言·数据结构·rust
0xSec笔记本挖呀瓦呀挖3 小时前
电子取证之windows知识点:从 0 到 1 掌握 Windows 事件日志取证:以 玄机靶场-第五章 Windows 实战-evtx 文件分析
windows
Yupureki3 小时前
从零开始的C++学习生活 18:C语言复习课(期末速通)
c语言·数据结构·c++·学习·visual studio
小兔崽子去哪了3 小时前
数据结构和算法(Python)
数据结构·python
FmZero6 小时前
基于比特位图映射对List<Object>多维度排序
数据结构·list
霸道流氓气质6 小时前
Java中使用Collator实现对象List按照中文姓名属性进行A-Z的排序实现
java·开发语言·list
星释6 小时前
鸿蒙Flutter三方库适配指南: 05.使用Windows搭建开发环境
windows·flutter·harmonyos
Mr.H01276 小时前
克鲁斯卡尔(Kruskal)算法
数据结构·算法·图论
熬了夜的程序员6 小时前
【LeetCode】94. 二叉树的中序遍历
数据结构·算法·leetcode·职场和发展·深度优先
熬了夜的程序员6 小时前
【LeetCode】92. 反转链表 II
数据结构·算法·leetcode·链表·职场和发展·排序算法