美文网首页
24 STL(四) deque容器

24 STL(四) deque容器

作者: ca8519be679b | 来源:发表于2021-01-16 20:40 被阅读0次

基本概念

deque是双端容器,可以有头插头删和尾插删

1

如上,列出了和vector的区别,头部插入更有效率,但是vector访问的效率更高

2

如上,deque底层是有一个中控器,对每段连续空间(叫做缓冲器)做一个地址监控,对首尾预留一部分空间,使得看起来像一片连续空间,所以效率会低一些,但是也是支持随机访问的

构造函数

3

如上,和vector容器类似,支持默认,begin,end区间元素拷贝给自身,支持n重复元素,支持拷贝构造

4

如上,很简单,当然是用索引是我提前剧透了。

5

这里提示下如果我们限制遍历只读不修改,需要给参数加上const,这时我们的迭代器就不能选择普通的iterator而要用const_iterator,其他就是使用begin,end获取指针来判断,然后迭代器解引用来实现遍历

赋值操作

6

和vector很类似,所以基本没什么新意,还是调用=,assign方法

7

大小操作

8

这部分还是和vector类似,没啥说的就是跑一圈

9

如上,都是简单的调用,感觉没什么可说的

最后deque没有容量的概念,因为他可以无限往里放数据

插入和删除

10

如上,我们这次的插入删除直接分为两段的插入删除和指定位置的插入删除

11

如上,简单实现头尾插

12

如上实现头尾删

13

如上,不光可以插入指定位置一个元素,还可以插入重复元素以及一段区间

14

如上

数据存取

15

如上,相比vector多了2个方法,当然只是用于访问头尾元素,注意begin,end是返回迭代器指针,而这个返回的元素对象

16

如上,我们可以按索引访问,at忘写了就这样吧,我们看到也可以通过获得到的元素进行修改

排序

17

如上,我们可以使用STL的sort方法对deque区间进行排序,注意不是deque方法,当然也支持vector

18

如上,使用sort要导入algorithm模块,使用sort对区间进行排序,我们因为是头插,逆序后排序变成升序

19

视频里没有说怎么逆序,但是我觉得之前讲过rbegin,rend,于是试了试,果然可以实现降序

相关文章

  • 24 STL(四) deque容器

    基本概念 deque是双端容器,可以有头插头删和尾插删 如上,列出了和vector的区别,头部插入更有效率,但是v...

  • [GeekBand][C++ STL与泛型编程]第八周笔记

    容器deque C++ STL容器deque和vector很类似,也是采用动态数组来管理元素。使用deque之前需...

  • 博览网:STL与泛型编程第三周笔记

    1.容器deque C++ STL容器deque和vector很类似,也是采用动态数组来管理元素。 使用deque...

  • C++ STL 之 deque

    本节我们将介绍 STL 中的 deque 容器使用。 deque,是一个定义在 deque 头文件中的容器模...

  • GeekBand C++第五周

    STL 对定义的通用容器分三类:顺序性容器、关联式容器和容器适配器。 标准STL顺序容器:vector、deque...

  • 面试知识点(5)STL

    容器类型 STL容器主要分为 顺序容器 vector(向量容器) deque(双端队列容器) list(双向链...

  • STL容器

    STL容器类型 序列式容器:vector,list(双向链表),deque,stack,queue,heap,pr...

  • c++程序员面试宝典之STL库

    十八.STL库 主要包括三大组件:容器、算法、迭代器。 容器:序列式容器:vector、deque、list;关联...

  • C++与STL

    STL: 常用容器操作: 1.vector/list/deque insert/erase/clear front...

  • 音视频开发之旅(22) STL 之 容器

    目录 STL的六大部件介绍 容器分类 序列式容器介绍(vector、list、deque) 关联式容器 资料 收获...

网友评论

      本文标题:24 STL(四) deque容器

      本文链接:https://www.haomeiwen.com/subject/uuyjaktx.html