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

相关推荐
泓铮4 小时前
Windows 环境下 WSL2 与 VMware Workstation 17 共存机制研究与工程实践
windows
澈2074 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
ambition202425 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
代码旅人ing5 小时前
链表算法刷题指南
数据结构·算法·链表
不爱吃炸鸡柳6 小时前
单链表专题(完整代码版)
数据结构·算法·链表
Morwit7 小时前
【力扣hot100】 1. 两数之和
数据结构·c++·算法·leetcode·职场和发展
明湖起风了7 小时前
mqtt消费堆积
java·jvm·windows
私人珍藏库8 小时前
[Windows] 【灵犀Claw生成】酷狗加密音乐批量转换工具 Xy Music Converter
windows·工具·软件·多功能
handsomestWei10 小时前
claude-code在win环境安装使用
windows·ai编程·claude·安装配置·cc-switch
田梓燊10 小时前
2026/4/11 leetcode 3741
数据结构·算法·leetcode