前言
在本篇文章中,我们将会介绍list和vector的优缺点
一、vector
vector是动态数据表,底层是一块连续的物理空间
优点
🌟🌟支持下标随机访问,时间复杂度为O(1)
🌟🌟尾插尾删效率高
🌟🌟空间利用率高,缓存利用率高,不容易造成内存碎片
缺点
🌟🌟任意位置插入删除效率低,可能需要数据挪动,时间复杂度O(N)
🌟🌟增容,需要开辟新空间,拷贝数据,还可能造成空间浪费
应用场景
🌟🌟需要高效存储,支持随机访问,不关心插入删除效率
二、list
list是带头双向循环链表,底层是一块快物理空间不连续的节点构成
优点
🌟🌟任意位置插入删除效率高,不需要挪动数据
🌟🌟没有空间浪费,按需申请释放
缺点
🌟🌟不支持下标随机访问,访问某个元素时间复杂度为O(1)
🌟🌟空间利用率低,缓存利用率低,小节点容易造成内存碎片
应用场景
🌟🌟大量插入和删除操作,不关心随机访问
总结
以上就是今天要讲的内容,本文仅仅对比vector和list,希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘