【C++ 与 STL】双端队列:deque
头文件 #include <deque>
常用方法:
a.push_front(0);//在头部加入数据0
a.push_back(11);//在尾部加入数据11
a.pop_front();//在头部删除数据
a.pop_back();//在尾部删除数据
a.resize(num);//重新指定队列的长度
a.size() //返回容器中实际数据个数
a.max_size() //返回容器中最大数据的数量
测试代码:
#include <iostream>
#include <deque>
#include <algorithm>
using namespace std;int main() {deque<int> a(10); //创建一个有10个元素双端队列a,初始值都为0//给deque赋值for (int i = 0; i < a.size(); i++) {a[i] = i + 1;}//输出deque中的数据for (int i = 0; i < a.size(); i++) {cout << a[i] << " ";}cout << endl;//在头尾加入新数据cout << "在头部加入数据0:" << endl;a.push_front(0);for (int i = 0; i < a.size(); i++) {cout << a[i] << " ";}cout << endl;cout << "在尾部加入数据11:" << endl;a.push_back(11);for (int i = 0; i < a.size(); i++) {cout << a[i] << " ";}cout << endl;//在头尾删除数据cout << "在头部删除数据: " << endl;a.pop_front();for (int i = 0; i < a.size(); i++) {cout << a[i] << " ";}cout << endl;cout << "在尾部删除数据: " << endl;a.pop_back();for (int i = 0; i < a.size(); i++) {cout << a[i] << " ";}cout << endl;//返回容器中实际数据个数cout << "a.size() = " << a.size() << endl;//重新指定队列的长度a.resize(11);for (int i = 0; i < a.size(); i++) {cout << a[i] << " ";}cout << endl;//判断队列是否为空cout << "a.empty() = " << a.empty() << endl;//返回容器中最大数据的数量cout << "a.max_size() = " << a.max_size() << endl;return 0;
}
输入输出:
1 2 3 4 5 6 7 8 9 10
在头部加入数据0:
0 1 2 3 4 5 6 7 8 9 10
在尾部加入数据11:
0 1 2 3 4 5 6 7 8 9 10 11
在头部删除数据:
1 2 3 4 5 6 7 8 9 10 11
在尾部删除数据:
1 2 3 4 5 6 7 8 9 10
a.size() = 10
1 2 3 4 5 6 7 8 9 10 0
a.empty() = 0
a.max_size() = 4611686018427387903
【C++ 与 STL】双端队列:deque相关推荐
- STL之双端队列deque:新手入门,基础应用
STL之双端队列deque:新手入门,基础应用 简单的自我介绍 STL之deque:基本函数的运用 源代码 运行结果 结尾 简单的自我介绍 一名努力学习code的计算机专业大二在校学生,平时不论是完成 ...
- 【C++】STL常用容器总结之五:双端队列deque
6.双端队列deque 所谓的deque是"double ended queue"的缩写,双端队列不论在尾部或头部插入元素,都十分迅速.而在中间插入元素则会比较费时,因为必须移动中 ...
- 6-5-2:STL之stack和queue——双端队列deque
文章目录 双端队列-deque 双端队列-deque deque是一种双向开口的连续线性空间.所谓双向开口,意思就是可以在头尾两端分别进行元素的插入和删除操作 deque的出现是为了解决融合vecto ...
- C++ 双端队列(deque)的使用
双端队列(deque)是什么 双端队列(deque)是一种随机访问的数据类型,提供了在序列两端快速插入和删除的功能,deque类似于vector, 双端队列(deque)属于STL(Standard ...
- c++ 双端队列 deque 之 (头部、尾部)插入元素/删除元素/
头文件 #include <deque> 和vector用法基本相同 没有 capacity() reserve() 有了push_back(),pop_back() //inse ...
- [转载] Python的双端队列deque
参考链接: Python中的双端队列DeQue Python的强大并不在于它的语法,而在于它的库,当你对各种数据结构感到苦恼时,Python提供了各种开箱即用的数据结构. 数据结构中最常讲授的数据结构 ...
- 队列(queue)与双端队列(deque)—Python实现方法及回文词应用
队列 Queue 抽象数据类型Queue:一个有次序的数据集合,数据项仅从 尾(rear) 端添加,且仅从 首(front) 端移除,具有 "FIFO" 的特点. 需要实现的操作: ...
- C++ 双端队列deque
双端队列的简单认识 双端队列是动态大小的序列式容器,其可以像两端进行伸缩. 特定的库可以以不同的方式实现deque,但通常都是一种动态数组.不论在何种情况下,它都允许通过随机访问迭代器直接访问单个元素 ...
- java lifo 队列_1.8 Java 队列 Queue、双端队列 Deque - Java 知识总结与学习
queue 在java5中新增加了java.util.Queue接口,用以支持队列的常见操作.该接口扩展了java.util.Collection接口.除了基本的 Collection 操作外,队列还 ...
- Java双端队列Deque及其应用
目录 1.Deque的概念 2.双端队列操作 3.双端队列演示示例 4.双端队列典型应用(滑动窗口/单调栈问题) 1.Deque的概念 双向队列:支持在首尾插入和删除元素的线性集合.它具有既具有FIF ...
最新文章
- 基于caffe的度量学习实现(Siamese network Triplet network)
- Selenium3自动化测试——4. 获取百度备案信息
- zabbix入门到精通之--zabbix proxy配置(二)
- spring 同时配置hibernate and jdbc 事务
- HttpHandler与HttpModule的用处与区别
- python自定义安装哪些不需要_python setup.py配置,用于在自定义目录中安装文件
- Web前端现在薪资多少?企业喜欢什么样的Web前端工程师?
- mysql加密复制_MySQL主从复制使用SSL加密
- 王春晖:发展自主知识产权的网安核心技术迫在眉睫
- 7_26 day28 上节课 复习 27min
- pytorch: torch.nn.functional.affine_grid(theta,size)
- c语言程序游戏例子,C语言编程——取石子游戏实例解答
- powerbuilder mysql_powerbuilder+mysql5.0的连接过程 | 学步园
- 浏阳市大瑶计算机学校,2021年湖南长沙浏阳市重点小学排名学校一览
- 移植MotionDriver到RTT
- excel制作项目甘特图
- 学习笔记之Python的六种内置对象
- 使用memcpy函数的耗时测试(拷贝不同大小数据量耗时不同)
- python通过Ctypes 模块 调用C++动态链接库,遇到的access violation reading 0x0000000000000000解决方案
- BHQ-3 amine,1661064-89-6可在430nm至730nm范围内猝灭所有普通荧光团
热门文章
- mac 电脑 eclipse 启动停在 org.eclipse.debug.core 导致无法启动
- Mozilla Firefox 66 将使用更少的内存,提高扩展性能
- List与数组的相互转换
- 学习OpenCV——Gabor函数的应用
- innodb--聚簇索引真实案列排序问题
- openstack单元測试用组件一览
- 转发网络《iOS网络编程与云端应用最佳实践》微博转发送书了
- 武汉区块链软件技术公司区块链将如何应用于会员生态系统?
- 吴恩达创建deeplearning.ai讲授AI课程 ,向全世界普及深度学习知识
- Cookie工具类的借鉴别人的ThinkGem的代码学习