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

相关推荐
疋瓞7 小时前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
程序员老油条8 小时前
WSL2 + Docker Desktop:Windows 下的完美 Java 开发环境
java·windows·docker·wsl2
如此这般英俊8 小时前
手搓Claude Code-第六章 subagent
数据结构·人工智能·python·语言模型·自然语言处理
Tairitsu_H10 小时前
[LC优选算法#17] 链表 | 合并 K 个升序链表 | K个⼀组翻转链表
数据结构·算法·链表
binbin_5211 小时前
Flutter 开发鸿蒙实战:Windows 环境下从 HAP 构建到四 Tab 页面运行
windows·flutter·harmonyos
ylscode12 小时前
微软推送KB5095189:Windows 11 OOBE开箱即用体验迎来新一轮优化
windows·microsoft
zwenqiyu12 小时前
非线性字符串数据结构串讲
数据结构·c++·学习·算法
Fer_David12 小时前
解决Windows无法在微软商店安装CodeX问题
windows
东华万里13 小时前
第32篇 数据结构入门 单链表的增删查改实现
数据结构·链表
忧虑的小蚂蚁13 小时前
dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
windows