当前位置:首页 » 《休闲阅读》 » 正文

C++中deque的用法(超详细,入门必看)

4 人参与  2024年03月24日 15:05  分类 : 《休闲阅读》  评论

点击全文阅读


博主简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的人。
博主主页:@陈童学哦
所属专栏:C++STL
如果本文对你有所帮助的话,希望可以点赞?收藏?支持一下哦!
期待你的关注,一起成长哟!

在这里插入图片描述

前言:Hello各位小伙伴们好!欢迎来到本专栏C++STL的学习,本专栏旨在帮助大家了解并熟悉使用C++中的STL,C++中的STL(标准模板库)是相当好用的,???所以大家赶紧订阅一起学起来叭!那么话不多说接下来就进入本文C++中deque的学习。

???站点

⭐一、deque的简介⭐二、deque的定义及初始化⭐三、deque的成员函数⭐四、deque的遍历方法⭐五、写在最后

⭐一、deque的简介

deque是一个双向队列(double-ended queue),可以在队列的两端进行元素的插入和删除操作。deque的全称是double-ended queue,翻译过来就是双端队列,也有人称之为双向队列,这两个名称都可以表示该数据结构。deque是C++STL(标准模板库)中的一种容器,可以用于存储各种类型的元素。deque的特点是可以在队列的两端进行元素的操作,并且可以高效地在队列的任意位置进行元素的插入和删除操作。
可以说deque几乎涵盖了queue(队列)、stack(堆栈)、vector(向量 )等的全部用法,功能非常的强大。

使用queue时需要包含头文件:

#include<deque>

⭐二、deque的定义及初始化

定义
deque<数据类型>容器名
例:
//deque的定义 deque<int>d1; //定义一个储存数据类型为int的双端队列d1 deque<double>d2; //定义一个储存数据类型为double的双端队列d2 deque<string>d3; //定义一个储存数据类型为string的双端队列d3 deque<结构体类型>d4; //定义一个储存数据类型为结构体类型的双端队列d4 deque<int> d5[N]; //定义一个储存数据类型为int的双端队列数组d5 deque<double>d6[N]; //定义一个储存数据类型为double的双端队列数组d6 

⭐三、deque的成员函数

关于deque的常用函数:

push_back()//在队列的尾部插入元素。emplace_front()//与push_front()的作用一样 push_front()//在队列的头部插入元素。emplace_back()//与push_back()的作用一样 pop_back()//删除队列尾部的元素。pop_front()//删除队列头部的元素。back()//返回队列尾部元素的引用。front()//返回队列头部元素的引用。clear()//清空队列中的所有元素。empty()//判断队列是否为空。size()//返回队列中元素的个数。begin()//返回头位置的迭代器end()//返回尾+1位置的迭代器rbegin()//返回逆头位置的迭代器 rend()//返回逆尾-1位置的迭代器 insert()//在指定位置插入元素 erase()//在指定位置删除元素 

示例代码:

#include<iostream>#include<deque>using namespace std;int main(){deque<int> d; //定义一个数据类型为int的dequed.push_back(1); //向队列中加入元素1 d.push_back(2); //向队列中加入元素2d.push_back(3); //向队列中加入元素3d.push_back(4); //向队列中加入元素4cout<<"双端队列中现在的元素为:"<<endl;for(int i=0;i<d.size();i++){cout<<d[i]<<" ";}cout<<endl;d.pop_front();cout<<"弹出队首元素后,双端队列中现在的元素为:"<<endl;for(int i=0;i<d.size();i++){cout<<d[i]<<" ";}cout<<endl;d.pop_back();cout<<"弹出队尾元素后,双端队列中现在的元素为:"<<endl;for(int i=0;i<d.size();i++){cout<<d[i]<<" ";}cout<<endl;d.push_back(6);cout<<"在队尾添加元素6后,双端队列中现在的元素为:"<<endl;for(int i=0;i<d.size();i++){cout<<d[i]<<" ";}cout<<endl;d.push_front(8);cout<<"在队首添加元素8后,双端队列中现在的元素为:"<<endl;for(int i=0;i<d.size();i++){cout<<d[i]<<" ";}}

运行结果:

双端队列中现在的元素为:1 2 3 4弹出队首元素后,双端队列中现在的元素为:2 3 4弹出队尾元素后,双端队列中现在的元素为:2 3在队尾添加元素6后,双端队列中现在的元素为:2 3 6在队首添加元素8后,双端队列中现在的元素为:8 2 3 6

⭐四、deque的遍历方法

1.通过迭代器iterator遍历
#include<iostream>#include<deque>using namespace std;int main(){deque<int> d; //定义一个数据类型为int的dequed.push_back(1); //向队列中加入元素1 d.push_back(2); //向队列中加入元素2d.push_back(3); //向队列中加入元素3d.push_back(4); //向队列中加入元素4deque<int>::iterator it;for(it=d.begin();it!=d.end();it++){cout<<*it<<" ";}}

运行结果:

1 2 3 4
2.通过下标遍历
#include<iostream>#include<deque>using namespace std;int main(){deque<int> d; //定义一个数据类型为int的dequed.push_back(1); //向队列中加入元素1 d.push_back(2); //向队列中加入元素2d.push_back(3); //向队列中加入元素3d.push_back(4); //向队列中加入元素4for(int i=0;i<d.size();i++){cout<<d[i]<<" ";}}

运行结果:

1 2 3 4
3.通过foreach遍历
#include<iostream>#include<deque>using namespace std;int main(){deque<int> d; //定义一个数据类型为int的dequed.push_back(1); //向队列中加入元素1 d.push_back(2); //向队列中加入元素2d.push_back(3); //向队列中加入元素3d.push_back(4); //向队列中加入元素4for(int it:d){cout<<it<<" ";}}

运行结果:

1 2 3 4

⭐五、写在最后

OK本文的学习就到此结束啦,希望本文可以帮助到各位有需要的小伙伴们喔,也希望各位小伙伴们可以不要吝惜手里的三连哦!感谢你们的支持,你们的支持就是我创作最大的动力哦!❤️❤️❤️

? 回头看,轻舟已过万重山,向前看,前路漫漫亦漫漫。

???那么我们下期再见!拜拜ヾ(•ω•`)o
在这里插入图片描述


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/84845.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 进错房,嫁给八零最牛特种兵已完结(林晚夏江肆年)抖音热文_《进错房,嫁给八零最牛特种兵已完结》最新章节免费在线阅读 -
  • 重生后选魔族,天族哭着求我当王全章节(月沁雪任意)全文免费阅读无弹窗大结局_(重生后选魔族,天族哭着求我当王全章节)重生后选魔族,天族哭着求我当王全章节免费阅读全文最新章节列表_笔趣阁(重生后选魔族,天族哭着求我当王全章节) -
  • 捡回摄政王后,她在皇室作威作福完结版小说(景飞鸢赵灵杰)全文免费阅读无弹窗大结局_(捡回摄政王后,她在皇室作威作福完结版免费阅读全文大结局)最新章节列表_笔趣阁(捡回摄政王后,她在皇室作威作福完结版) -
  • 千金难泣(立轩苏子骞翠竹吴进)全本免费在线阅读_千金难泣最新章节在线阅读(立轩苏子骞翠竹吴进)
  • 《沈云阶傅宴辞》(沈云阶傅宴辞》已完结完整版全集大结局小说)全文阅读笔趣阁
  • 《沈凌峰沈国华》已完结小说全文阅读笔趣阁《沈凌峰沈国华》
  • 《傅嫤韩恬魏郯程茂》已完结(傅嫤韩恬魏郯程茂)热门小说全目录完整版)全文阅读笔趣阁
  • 八零俏军医错嫁糙汉军官:番外+全文+后续(贺昭朗孟翩然)完本小说免费_全本免费小说八零俏军医错嫁糙汉军官:番外+全文+后续最新小说全文阅读(贺昭朗孟翩然)
  • 失去千千万万遍在线阅读(阮相宜陆凛言)全文免费阅读无弹窗大结局_(失去千千万万遍在线阅读)失去千千万万遍在线阅读免费阅读全文最新章节列表_笔趣阁(失去千千万万遍在线阅读) -
  • 脱离世界后,妻子疯了火爆小说小说(沈夕颜林程言)全文免费阅读无弹窗大结局_(脱离世界后,妻子疯了火爆小说免费阅读全文大结局)最新章节列表_笔趣阁(脱离世界后,妻子疯了火爆小说) -
  • 跨年发生踩踏,男友为救白月光丢下我(温林初宝宝)免费阅读 -
  • 都重生了,还不离婚等啥呢宋招弟霍文铮小说在线章节免费阅读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1