一张表格让你理解vector和list区别

一张表格让你理解vector和list区别

区别vectorlist
数据结构:顺序表(动态数组)环形双向链表
物理空间:连续的非连续的
内存消耗:
大小可变:可变-动态数组可变-通过指针
随机存储:支持(vector 重载了[])不支持(因为非连续)
优势:支持随机存储任意节点高效的插入、删除等操作
劣势:插入和删除进行内存拷贝工作不支持随机存取

数据结构对比图:
《一张表格让你理解vector和list区别》
《一张表格让你理解vector和list区别》

那我们怎样选择使用vector和list呢

在选择该用哪种数据结构的时候,应该遵循这样的原则
1. 如果只关心随机存取,不在乎插入和删除 ,那么就要考虑vector
2. 如果只关心插入删除,不在意随机存取, 那么就要考虑list

例子

  1. 处理大量数据时,数据相对固定,不关心排序和中间值插入和删除,只是进行查询和筛选时,选vector。
  2. 处理顺序发生改变的数据时,数据变化,比如排行榜需要进行换位,插入删除等操作,此时选择list。
    原文作者:紫荆鱼
    原文地址: https://blog.csdn.net/m0_46655373/article/details/122349355
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞