展开全部
Vector:C++容器模板中的大哥大,就像是一个加强版的
队列
,之所以这样说,是因为它不但有队列
形式
的
索引
,还
能动态
的添加扩充。特点:把被包含的
对象
以
数组
的形式存储,支持索引形式的访问(这种访问速度奇快无比)。但由此也产生了
一个问题
,由于
数据存储
形式的固定化,你如果想在他
中间
部位insert对象的话,搞不好会让你吃尽头。因为他在分配空间的时候,可是成块分配的连续空间。 Deque:英文“double-ended-queue”。名如其人,这是C++有序容器中闻名遐迩的双向队列。他在设计
之初
,就为从两端添加和删除元素做了特殊的优化。同样也支持随即访问,也有类似vector的[
]操作符,但不要因此就把他和vector混为一潭。特点:从本质上讲,他在分配
内存
的时候,使用了MAP的结构和方法。化整为零,分配了许多小的连续空间,因此,从deque两端添加、删除元素是十分方便的。最重要的一点:如果在不知道内存具体需求的时候,使用deque绝对是比vector好的。
List:模板中的
双向链表
。设计他的目的可能就是为了在容器中间插入、删除吧,所以有得比有失,他的随机访问速度可不敢恭维。而且没有[
]操作。特点:随机的插入、删除元素,在速度上占有明显的优势。并且,由于内存分配不连续,他对插入的要求也十分的低。所以在使用大对象的时候,这可是一个不错的选择。“
队列
,之所以这样说,是因为它不但有队列
形式
的
索引
,还
能动态
的添加扩充。特点:把被包含的
对象
以
数组
的形式存储,支持索引形式的访问(这种访问速度奇快无比)。但由此也产生了
一个问题
,由于
数据存储
形式的固定化,你如果想在他
中间
部位insert对象的话,搞不好会让你吃尽头。因为他在分配空间的时候,可是成块分配的连续空间。 Deque:英文“double-ended-queue”。名如其人,这是C++有序容器中闻名遐迩的双向队列。他在设计
之初
,就为从两端添加和删除元素做了特殊的优化。同样也支持随即访问,也有类似vector的[
]操作符,但不要因此就把他和vector混为一潭。特点:从本质上讲,他在分配
内存
的时候,使用了MAP的结构和方法。化整为零,分配了许多小的连续空间,因此,从deque两端添加、删除元素是十分方便的。最重要的一点:如果在不知道内存具体需求的时候,使用deque绝对是比vector好的。
List:模板中的
双向链表
。设计他的目的可能就是为了在容器中间插入、删除吧,所以有得比有失,他的随机访问速度可不敢恭维。而且没有[
]操作。特点:随机的插入、删除元素,在速度上占有明显的优势。并且,由于内存分配不连续,他对插入的要求也十分的低。所以在使用大对象的时候,这可是一个不错的选择。“
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询