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

相关推荐
@小码农14 分钟前
2026年3月Scratch图形化编程等级考试一级真题试卷
开发语言·数据结构·c++·算法
专注VB编程开发20年31 分钟前
Windows API 所有老式结构体4字节对齐,但是64位VBA,Twinbasic弄成了8字节对齐,大BUG
windows·bug
东篱把酒黄昏1 小时前
wsl和Windows混合开发高级配置详细指导
windows
helloliyh2 小时前
windows设置定时任务开机执行bat或exe文件
windows
清水白石0082 小时前
从“类型体操”到工程设计:用 Python 解释协变、逆变与不变
网络·windows·python
_日拱一卒2 小时前
LeetCode:226翻转二叉树
数据结构·算法·leetcode
卷Java3 小时前
上下文压缩
开发语言·windows·python
日取其半万世不竭3 小时前
Minecraft Java版社区服搭建教程(Windows版)
java·开发语言·windows
风筝在晴天搁浅3 小时前
手撕快速排序
数据结构
图码4 小时前
矩阵数据结构入门指南:声明、初始化与基本操作
运维·数据结构·线性代数·算法·矩阵