学习啦 > 生活课堂 > 生活小常识 > vector和list的区别是什么

vector和list的区别是什么

时间: 志峰887 分享

vector和list的区别是什么

  对于学c语言的同学来说,vector和list这两个东西经常会搞错。下面是学习啦小编为大家准备的vector和list的区别是什么,希望大家喜欢!

  vector和list的区别一:

  vector是顺序表,表示的是一块连续的内存,元素被顺序存储;list是双向连接表,在内存中不一定连续。

  vector和list的区别二:

  当数值内存不够时,vector会重新申请一块足够大的连续内存,把原来的数据拷贝到新的内存里面;list因为不用考虑内存的连续,因此新增开销比vector小。

  vector和list的区别三:

  list只能通过指针访问元素,随机访问元素的效率特别低,在需要频繁随机存取元素时,使用vector更加合适。

  vector和list的区别四:

  当向vector插入或者删除一个元素时,需要复制移动待插入元素右边的所有元素;因此在有频繁插入删除操作时,使用list更加合适。

  vector和list的区别五:

  vector在每次扩张容量的时候,将容量扩展2倍,这样对于小对象来说,效率是很高的。

  list中的对象是离散存储的,随机访问某个元素需要遍历list。在list中插入元素,尤其是在首尾插入元素,效率很高,只需要改变元素的指针。

  看了“333”的人还看了:

1.Linux find命令常见用法

2.2016java面试题

3.2016java面试题大全带答案

4.2016java web面试题(2)

1775769