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

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

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

?数据结构对比图:
在这里插入图片描述
在这里插入图片描述

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

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

例子

  1. 处理大量数据时,数据相对固定,不关心排序和中间值插入和删除,只是进行查询和筛选时,选vector。
  2. 处理顺序发生改变的数据时,数据变化,比如排行榜需要进行换位,插入删除等操作,此时选择list。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>