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

相关推荐
aqiu11111117 小时前
【LeetCode 902】最大为 N 的数字组合 - 详细题解与数位组合思路
数据结构·算法·leetcode·蓝桥杯·数位dp
嘿嘿-6619 小时前
Windows 一键使用 GPT-6 Astra:Codex CLI 配置教程
java·人工智能·windows·gpt·chatgpt·web
郝学胜-神的一滴20 小时前
Qt 高级编程 045:坐标体系深度实战
开发语言·c++·windows·python·qt·程序人生
2601_9622974821 小时前
在python3中、下列输出变量a的正确写法是_2020超星大数据Python免费答案
数据结构·python·算法·编程·字符串操作
寺中人1 天前
MySQL 8.0 Windows 完整安装教程:环境配置、密码重置与常见报错排查
数据库·windows·mysql·环境搭建·mysql 安装
shehuiyuelaiyuehao1 天前
算法29,前缀和,除自身以外的数组的乘积
java·数据结构·算法
en.en..1 天前
Linux exec函数族
windows
啵啵啵鱼1 天前
DS-顺序表
java·数据结构·笔记·后端·链表·obsidian
键盘会跳舞1 天前
【C++多线程】死锁诊断工具实战:从 Windows 到 Linux 的全链路排查
linux·c++·windows·死锁
YSL0701241 天前
时间复杂度和空间复杂度
数据结构