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

相关推荐
John Song5 小时前
ansible-playbook常用的检查命令
windows·ansible
视觉AI5 小时前
VS Code Remote-SSH 连接Jetson踩坑完整解决记录(网段不通+主机密钥变更双重故障)
运维·网络·人工智能·windows·ssh·边缘计算
来一碗刘肉面7 小时前
顺序表与链表的比较
数据结构·算法·链表
txzrxz8 小时前
二分图详解
数据结构·c++·算法·图论·深度优先搜索·二分图染色
fpcc10 小时前
数据结构和算法—数学的应用
数据结构·c++·算法
皓月斯语10 小时前
B4451 [GESP202512 四级] 建造 题解
数据结构·c++·算法·题解
牧以南歌〆12 小时前
数据结构<八>链式队列
c语言·数据结构·算法
一个初入编程的小白13 小时前
数据结构:队列和栈的相互实现
数据结构
观远数据13 小时前
从离线开发到实时同步:DataFlow如何支撑企业级数据治理闭环
java·windows·microsoft·excel
绀目澄清13 小时前
私服网游云加速程序劫持流量排查与修复总结
windows·安全