STL容器 (Stl容器有什么作用)

本文目录导航:

STL容器—deque使用技巧

std::deque是一种双端队列,提供快速在两端插入和删除元素的能力。

与std::vector不同,deque的元素非连续存储,通过一系列分配固定大小的数组实现,同时进行额外的管理。

这意味着访问deque的索引需要两次指针解引用,而vector则只需要一次。

deque的存储会自动根据需要调整大小,扩展比vector便宜,因为它无需复制现有元素到新位置。

然而,deque的内存成本相对较高,即使只存储一个元素,也需要分配整个内部数组(如64位libstdc++中8倍的对象大小;在64位libc++中,可能更大,至少为4096字节)。

在时间复杂度方面,deque在尾部和头部插入和删除的复杂度为O(1),实际上比vector稍慢。

在手动内存清理方面,deque与vector类似,可以使用swap()接口释放内存。

在C++11之后,deque添加了shrink_to_fit()接口,因此也可以手动释放内存。

在选择deque还是vector时,vector通常应作为默认序列类型。

deque在序列大部分插入和删除发生在两端时是最佳选择。

因此,存储大量数据时,我认为使用deque的优先级高于vector,对于少量数据则应尽量使用vector。

有趣的是,标准库中的栈(std::stack)实现默认使用deque,尽管栈只涉及单端数据的插入和删除。

STL容器 (Stl容器有什么作用)

stl中deque怎么读?

在STL库中,deque是一种容器类型,代表双端队列。

deque的发音在英语中存在不同的版本,常见的有 戴克、迪Q、大可 等。

其中,戴克 为全称发音方式,较为严谨。

提问者认为如此读音容易引起误解,因此每次会念出全称 double-ended queue。

实际上,身边人对于deque的读音存在多样化,有人选择简单的 迪Q 或 大可。

这种情况下,主要取决于个人习惯和交流环境,并不会对理解造成实质影响。

在日常编程交流中,直接称呼deque为双端队列更为直接简洁。

在国际交流中,尤其是在编程社区或论坛,不少人仍然倾向于用 deck 这个简化的发音,这反映了英语口语中对于简短发音的偏好。

然而,如果在正式或文档中使用deque,推荐使用全称 double-ended queue 或简称为 deque,以避免不必要的混淆。

综上所述,deque的读音主要取决于个人喜好和交流环境。

在不影响理解的情况下,可以采用简化的读音,如 迪Q 或 大可。

但在正式文档或需要精确表述的场合,建议使用全称 double-ended queue 或缩写 deque。

C++,list,vector,deque有什么区别

Vector:C++容器模板中的大哥大,就像是一个加强版的队列,之所以这样说,是因为它不但有队列形式的索引,还能动态的添加扩充。

特点:把被包含的对象以数组的形式存储,支持索引形式的访问(这种访问速度奇快无比)。

但由此也产生了一个问题,由于数据存储形式的固定化,你如果想在他中间部位insert对象的话,搞不好会让你吃尽头。

因为他在分配空间的时候,可是成块分配的连续空间。

Deque:英文“double-ended-queue”。

名如其人,这是C++有序容器中闻名遐迩的双向队列。

他在设计之初,就为从两端添加和删除元素做了特殊的优化。

同样也支持随即访问,也有类似vector的[]操作符,但不要因此就把他和vector混为一潭。

特点:从本质上讲,他在分配内存的时候,使用了MAP的结构和方法。

化整为零,分配了许多小的连续空间,因此,从deque两端添加、删除元素是十分方便的。

最重要的一点:如果在不知道内存具体需求的时候,使用deque绝对是比vector好的。

List:模板中的双向链表。

设计他的目的可能就是为了在容器中间插入、删除吧,所以有得比有失,他的随机访问速度可不敢恭维。

而且没有[]操作。

特点:随机的插入、删除元素,在速度上占有明显的优势。

并且,由于内存分配不连续,他对插入的要求也十分的低。

所以在使用大对象的时候,这可是一个不错的选择。

“

你可能想看:
« 上一篇
下一篇 »

相关推荐

FreeBasic:强大免费开源的64位basic编译器及应用优势

2025年05月10日

82阅读

脊柱侧弯矫正方法大盘点:运动康复、支具矫正等多种方式

2025年05月09日

87阅读

如何在winForm标题栏去掉标题文字且任务栏图标正常显示

2025年05月09日

86阅读

十一黄金周促销广告词大全,国庆购物狂欢等你来

2025年05月09日

78阅读

关闭快速编辑模式及插入模式,设置控制台指定文字颜色举例

2025年05月09日

63阅读

黄金搭档低糖高钙饮品包装及成分功效全解析,适合人群要知晓

2025年05月09日

91阅读