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

相关推荐
郝学胜-神的一滴1 小时前
Linux Socket编程核心:深入解析sockaddr数据结构族
linux·服务器·c语言·网络·数据结构·c++·架构
IUGEI2 小时前
从原理到落地:DAG在大数据SLA中的应用
java·大数据·数据结构·后端·算法
云深麋鹿2 小时前
五.排序笔记
c语言·数据结构·算法·排序算法
福楠10 小时前
C++ STL | map、multimap
c语言·开发语言·数据结构·c++·算法
Sarvartha10 小时前
二分查找学习笔记
数据结构·c++·算法
软件资深者11 小时前
全能图片缩略图显示工具,体积较大,直接显示AI,PSD,EPS,PDF,INDD,TIFF,CR2,RAW等格式缩略图的图像解码包
windows·microsoft·pdf·windows11·系统修复
谦宸、墨白12 小时前
从零开始学C++:二叉树进阶
开发语言·数据结构·c++
闲人不梦卿13 小时前
数组和矩阵以及广义表
数据结构
苦藤新鸡14 小时前
41.有序数组(二叉搜索树)转平衡二叉树
数据结构·力扣
chinesegf15 小时前
Windows 系统中通过 Conda 「克隆」环境
windows·conda