vector容器与list容器的区别和联系?

vector容器与list容器的区别和联系?还有什么情况下用vector好,什么情况下用list好?本人新手学习,答案尽量详细点,谢谢!!楼下的回答不是很满意,这里的ve... vector容器与list容器的区别和联系?
还有什么情况下用vector好,什么情况下用list好?
本人新手学习,答案尽量详细点,谢谢!!
楼下的回答不是很满意,这里的vector和list是对于C++语法而言,请尽量说最本质的区别,也可以举例说明,比如说用来管理网络游戏中的怪物,或者其他例子,越详细越好,请各位高手多多指教!!!
展开
 我来答
fly_fire
2009-04-23 · TA获得超过617个赞
知道小有建树答主
回答量:579
采纳率:0%
帮助的人:308万
展开全部
楼主,首先我要说楼上说的是java的语法。

就其本质,如果你学习过数据结构的话,应该会明白array与list的区别。vector就是一个可靠版本的array.

如果不明白我打个比方吧,比如游戏中第一关打完第二关,第二关打完第三关,这种链式的结构就适合用list,而一些毫无关联的数据集合,比如你网络游戏中一个场景中出现的随机怪物就可以用vector,当然我说的只是例子,实际的数据结构会复杂很多。。

另外如果你的数据集合经常涉及插入,删除的操作,那就跟适合用list了,只是查找操作比较多适合用vector.
go...4@21cn.com
2012-12-14
知道答主
回答量:4
采纳率:0%
帮助的人:6134
展开全部
C++中list是采取队列存储结构,vector是采取栈的存储结构,对于楼主说的怪物,多数情况下应该是先出现的怪物先被消灭,采取list比较好吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韦涵涵
2009-04-15 · TA获得超过3892个赞
知道大有可为答主
回答量:1034
采纳率:100%
帮助的人:1513万
展开全部
1,vector是线程同步的,所以它也是线程安全的,而arraylist是线程异步的,是不安全的。如果不考虑到线程的安全因素,一般用arraylist效率比较高。
2,如果集合中的元素的数目大于目前集合数组的长度时,vector增长率为目前数组长度的100%,而arraylist增长率为目前数组长度的50%.如过在集合中使用数据量比较大的数据,用vector有一定的优势。
3,如果查找一个指定位置的数据,vector和arraylist使用的时间是相同的,都是0(1),这个时候使用vector和arraylist都可以。而如果移动一个指定位置的数据花费的时间为0(n-i)n为总长度,这个时候就应该考虑到使用linklist,因为它移动一个指定位置的数据所花费的时间为0(1),而查询一个指定位置的数据时花费的时间为0(i)。

楼主明白吗了吧

祝楼主早日成功!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式