vector和list有些什么差别,用的时候如何取舍?
问题弱了点,没找到书,总想找个人问明白些
谢谢回答
问题点数:20、回复次数:9Top
1 楼useresu(俗人)(灌水是我无言的抗议)回复于 2005-06-03 13:55:38 得分 5
vector连续存储,用下标访问方便,
但是增删中间元素效率不高.
list相当与链表,
增删节点方便,但是不能下标操作.
根据你的数据结构适当取舍吧Top
2 楼shusong1228(mugong)回复于 2005-06-03 13:58:13 得分 3
顶楼上,就是这个意思。具体要看你对数据的操作而定!
如果你频繁要对数据进行增加和删除,最好用List。Top
3 楼mostideal(三甲)回复于 2005-06-03 15:25:16 得分 0
同意俗人的。。Top
4 楼Beover1984(摇滚人生)回复于 2005-06-03 15:35:57 得分 2
简单点儿说就是数组和链表的区别,看你的程序需要什么样的特性了Top
5 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-06-03 19:09:17 得分 2
嗯,数组与链表
数组方便查找
链表适合添加和删除Top
6 楼qhfu(改个名字)回复于 2005-06-03 19:18:59 得分 2
数据量大,或者包含的类复杂的话, vector 的性能明显不如 list 好。。
数据量小,简单类 vector的性能比较好, 因为vector如果数据量大的话,需要重新分配内存, 这就是动态数组 。。Top
7 楼wzjall(风)回复于 2005-06-03 21:11:09 得分 2
vector 可实现随机存储,但需在头和中部插入或删除数据时,效率较低,因为得移动数据.
而实现list插入或删除数据时,很方便.当然list不能实现随机存储Top
8 楼foochow(无聊,灌水......)回复于 2005-06-03 21:34:29 得分 2
选择顺序容器类型的一些准则:(1)随机访问,vector比list好得多;(2)已知道元素的个数,则vector比list强;(3)如果不只是在容器两端插入和删除元素,则list比vector强很多;(4)除非需要在容器首部插入和删除元素,则vector比deque好。对于小的数据类型,vector的插入大批量数据的性能比list好很多,而大型数据时则相反,解决方案是只保留大型数据的指针。Reserve函数容许将容器的容量设置成一个显式指定的值,resize函数重新设置容器的长度;每个容器支持一组关系操作符;用户定义的类类型必须支持等于操作符,必须支持小于操作符,元素类型必须支持一个缺省值(对类类型,指缺省构造函数Top
9 楼netbian(寻欢のLEE)回复于 2005-06-03 22:00:56 得分 2
呵呵 楼上的讲的很清楚啊 其实就是数据结构嘛
最近研究stl呢 呵呵Top




