导读 大家好,我是小典,我来为大家解答以上问题。listen1音乐软件,list很多人还不知道,现在让我们一起来看看吧!vector适用:对象数量变化少...
大家好,我是小典,我来为大家解答以上问题。listen1音乐软件,list很多人还不知道,现在让我们一起来看看吧!
vector适用:对象数量变化少,简单对象,随机访问元素频繁
list适用:对象数量变化大,对象复杂,插入和删除频繁
最大的区别是,list是双向的,而vector是单向的。list和vector的区别会分开的说明
1、vector为存储的对象分配一块连续的地址空间,因此对vector中的元素随机访问效率很高。
2、在vecotor中插入或者删除某个元素,需要将现有元素进行复制,移动。如果vector中存储的对象很大,或者构造函数复杂,则在对现有元素进行拷贝时开销较大,因为拷贝对象要调用拷贝构造函数。
3、对于简单的小对象,vector的效率优于list。vector在每次扩张容量的时候,将容量扩展2倍,这样对于小对象来说,效率是很高的。
4、list中的对象是离散存储的,随机访问某个元素需要遍历list。在list中插入元素,尤其是在首尾插入元素,效率很高,只需要改变元素的指针。
本文到此讲解完毕了,希望对大家有帮助。