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

相关推荐
x***r15121 分钟前
Redis Desktop Manager 0.8.8 安装教程(Windows redis-desktop-manager-0.8.8.384详细步骤)
数据库·windows·redis
Lyyaoo.2 小时前
【数据结构】HashMap底层存储+扩容机制+线程安全【待更新】
数据结构·安全·哈希算法
如何原谅奋力过但无声2 小时前
【灵神高频面试题合集09-13】二叉树、二叉搜索树
数据结构·算法·leetcode
xqqxqxxq2 小时前
树结构技术学习笔记
数据结构·笔记·学习
小欣加油3 小时前
leetcode2161 根据给定数字划分数组
数据结构·c++·算法·leetcode·职场和发展
雨落在了我的手上3 小时前
Java数据结构(四):List的介绍
数据结构
大都督会赢的3 小时前
数据结构(2)--单链表
数据结构
玖釉-3 小时前
Vulkan 离屏渲染详解:从 Framebuffer 到后处理、阴影贴图与 Render Texture
c++·windows·计算机视觉·图形渲染
cpp_25013 小时前
P2947 [USACO09MAR] Look Up S
数据结构·c++·算法·题解·单调栈·洛谷
峰上踏雪3 小时前
Windows 下最推荐的 Qt + VS2026 + CMake 开发方案
开发语言·windows·qt