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

相关推荐
youtootech4 小时前
HarmonyOS《柚兔学伴》项目实战09-待办列表 UI——List+ForEach+滑动删除
数据结构·ui·华为·list·harmonyos
:-)5 小时前
算法-归并排序
java·开发语言·数据结构·算法·排序算法
疯狂成瘾者12 小时前
Java 常见集合方法
java·windows·python
兰令水12 小时前
hot100【acm版】【2026.7.14打卡-java版本】
java·数据结构·算法·leetcode·面试
cpp_250112 小时前
P10098 [ROIR 2023] 地铁建设 (Day 2)
数据结构·c++·算法·贪心·二分答案·洛谷题解
倒流时光三十年12 小时前
MyBatis @MapKey 注解详解
windows·mybatis
生活、追梦者13 小时前
【Windows】 CMD 黑窗口命令大全
windows·命令行·cmd·运维技巧
米尔的可达鸭15 小时前
深入操作系统 Socket 底层:套接字控制块、FD映射、阻塞IO核心完整实现
arm开发·数据结构·websocket·网络协议·算法·架构·安全架构
tachibana216 小时前
hot100 课程表(207)
java·数据结构·算法·leetcode
Frostnova丶17 小时前
(15)LeetCode 189. 轮转数组
数据结构·算法·leetcode