一、deque工作原理:
deque容器内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据;中控器维护的每个缓冲区的地址,使得使用deque时像一片连续的内存空间,如下图所示:
二、deque构造函数:
1、功能描述:
deque容器构造
2、函数原型:
dequedeqT;//默认构造函数
deque(beg,end);//构造函数将[beg,end)区间中的元素拷贝给本身
deque(n,elem);//构造函数将n个elem拷贝给本身
deque(const deque &deq);//拷贝构造函数
代码应用:
#include
结果输出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
100 100 100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100 100 100
三、deque赋值操作:
1、功能描述:
给deque容器进行赋值
2、函数原型:
deque operator=(const deque &deq);//重载等号操作符
assign(beg,end);//将[beg,end)区间中的数据拷贝赋值给本身
assign(n,elem);//将n个elem拷贝赋值给本身
代码应用:
#include
结果输出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
100 100 100 100 100 100 100 100 100 100
四、deque大小操作:
1、功能描述:
对deque容器的大小进行操作
2、函数原型:
deque.empty();//判断容器是否为空
deque.size();//返回容器中的元素个数
deque.resize(num);//重新指定容器的长度num,若容器变长,则以默认值填充新位置;如果容器变短,则末尾超出容器长度的元素被删除
deque.resize(num,elem);//重新指定容器的长度num,若容器变长,则以elem值填充新位置;如果容器变短,则末尾超出容器长度的元素被删除
代码应用:
#include
结果输出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
0 1 2 3 4 5 6 7 8 9
d1 is not empty
d1 is : 10
0 1 2 3 4 5 6 7 8 9 1 1 1 1 1
0 1 2 3 4
注:deque没有容量的概念!
五、deque插入和删除:
1、功能描述:向deque容器中插入和删除数据
2、函数原型:
(1)两端插入操作:push_back(elem);//在容器尾部添加一个数据
push_front(elem);//在容器头部插入一个数据
pop_back();//删除容器最后一个元素数据
pop_front();//删除容器第一数据
(2)指定位置操作:
insert(pos,elem);//在pos位置插入一个elem元素的拷贝,返回新数据的位置
insert(pos,n,elem);//在pos位置插入n个elem数据,无返回值
insert(pos,beg,end);//在pos位置插入[beg,end)区间的数据,无返回值
clear();//清空容器的所有数据
erase(beg,end);//删除[beg,end)区间的数据,返回下一个数据的位置
erase(pos);//删除pos位置的数据,返回下一个数据的位置
两端代码应用:
#include
结果输出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
200 100 10 20
200 100 10
100 10
代码应用:
#include
结果输出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
200 100 10 20
1000 200 100 10 20
10000 10000 1000 200 100 10 20
1 2 3 10000 10000 1000 200 100 10 20
代码应用:
#include
结果输出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
200 100 10 20
200 10 20
六、deque数据存取:
1、功能描述:
对deque容器中的数据存取操作
2、函数原型:
at(int idx);//返回索引idx所指的数据
operator[];//返回索引idx所指的数据
front();//返回容器中第一个元素
back();//返回容器中最后数据元素
代码应用:
#include
结果输出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
200 100 10 20
200 100 10 20
the first is : 200
the last is : 20
七、deque排序:
1、功能描述:
利用算法实现对deque容器进行排序
2、算法:
sort(iterator beg,iterator end);//对beg和end区间元素进行排序
代码应用:
#include
结果输出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
200 100 10 20
10 20 100 200
-
容器
+关注
关注
0文章
499浏览量
22139 -
可编程逻辑
+关注
关注
7文章
517浏览量
44202
发布评论请先 登录
相关推荐
三星硅电容器已完成量产准备
群芯微电子受邀参加2024年韩国电子展
MT6701磁编码IC将在工业4.0智能制造中的应用
![MT6701磁编码IC将在工业4.0智能制造中的应用](https://file1.elecfans.com/web2/M00/FE/A2/wKgaomaeLRiAQ75vAAHb9DwU_S8205.png)
三星贴片电容器容量怎么换算?
MT6835磁编码IC在工业生产中的液位检测领域的应用
![MT6835磁编码IC在工业生产中的液位检测领域的应用](https://file1.elecfans.com/web2/M00/FE/5A/wKgaomaaM1GAKKsxAAF20IH0Gyc050.png)
鸿蒙语言基础类库:ohos.util.Deque 线性容器Deque
![鸿蒙语言基础类库:ohos.util.<b class='flag-5'>Deque</b> 线性<b class='flag-5'>容器</b><b class='flag-5'>Deque</b>](https://file1.elecfans.com//web2/M00/FA/6B/wKgZomaNQ_OALb0IAAACSiKnE8w640.jpg)
全球首个星闪指向遥控,智慧家庭新纪元的引领者
新技术融合共生:5G、AI与云计算引领数字经济时代
安全是最大的豪华!星纪元ET成功挑战31.9米空中坠落试验
![安全是最大的豪华!<b class='flag-5'>星</b>纪元ET成功挑战31.9米<b class='flag-5'>空中</b>坠落试验](https://file1.elecfans.com//web2/M00/E2/F5/wKgaomY6zYSAZ4_XAAL9qTw9mE8110.png)
OpenHarmony语言基础类库【@ohos.util.Deque (线性容器Deque)】
![OpenHarmony语言基础类库【@ohos.util.<b class='flag-5'>Deque</b> (线性<b class='flag-5'>容器</b><b class='flag-5'>Deque</b>)】](https://file1.elecfans.com/web2/M00/C5/CD/wKgZomYCdwyAIFf5AAB_7E1pFms943.jpg)
评论