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

相关推荐
zander25820 小时前
4. 寻找两个正序数组的中位数:用分割点代替合并
数据结构·算法
看浪的路人21 小时前
第3讲:代码补全引擎
开发语言·windows·python
敲上瘾21 小时前
redis常用数据类型与操作方法
数据结构·数据库·redis·缓存
牢姐与蒯21 小时前
c++高级数据结构之图(基本概念,存储结构,BFS,DFS,最小生成树)
数据结构·c++·
Tongzhi20261 天前
考勤数据本地化存储:通芝科技无感考勤一体机的数据安全逻辑
大数据·数据结构·科技·均值算法·数据库开发·推荐算法
进击切图仔1 天前
在 windows 和 ubuntu 中配置 host 文件
linux·windows·ubuntu
她说可以呀1 天前
Spring-ai-Rag-多文件格式生成 List<Document>
数据结构·list
烟锁池塘柳01 天前
【亲测有效】Windows上更新NVIDIA显卡驱动的方法
windows·nvidia·显卡驱动
郝学胜_神的一滴1 天前
干货版《算法导论》17:双数极值配对与卡牌手牌编码最优解
数据结构·算法
看浪的路人1 天前
第5讲:代码审查与 Bug 检测
开发语言·windows·python