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

相关推荐
梦想的旅途24 分钟前
基于 RPA 技术的 IM 办公自动化:深度解析模拟人工交互的 API 实现逻辑
windows·microsoft·自动化·企业微信
不爱吃炸鸡柳10 小时前
数据结构精讲:树 → 二叉树 → 堆 从入门到实战
开发语言·数据结构
Aurorar0rua10 小时前
CS50 x 2024 Notes C - 05
java·c语言·数据结构
NoSi EFUL11 小时前
redis存取list集合
windows·redis·list
良木生香11 小时前
【C++初阶】:STL——String从入门到应用完全指南(1)
c语言·开发语言·数据结构·c++·算法
XWalnut12 小时前
LeetCode刷题 day16
数据结构·算法·leetcode·链表·动态规划
寒秋花开曾相惜12 小时前
(学习笔记)4.1 Y86-64指令集体系结构(4.1.4 Y86-64异常&4.1.5 Y86-64程序)
开发语言·jvm·数据结构·笔记·学习
coNh OOSI13 小时前
Redis——Windows安装
数据库·windows·redis
foundbug99914 小时前
基于混合整数规划的电池容量优化 - MATLAB实现
数据结构·算法·matlab
iNgs IMAC14 小时前
如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
windows·node.js