C++ deque双端队列、deque对象创建、deque赋值操作

在deque中,front()是头部元素,back()指的是尾部元素。begin()是指向头部的迭代器,end()是指向尾部的下一个元素的迭代器。

push_front 头部进行插入

pop_front 尾部进行删除

push_back 尾部进行插入

pop_back 尾部进行删除

deque如果同时进行头插和尾插的话,他的时间复杂度是o(1),如果是vector的话,时间复杂度是o(n),需要视情况进行选择进行插入。如果是只有一个单向插法的话,用vector就可以。如果是两种插入的方式的话,用deque就合适。

deque对象创建,代码见下:

#include<iostream>
#include<deque>using namespace std;void printDeque(deque<int> &d) {for (deque<int>::iterator iter = d.begin(); iter != d.end(); iter++) {cout << *iter << " ";}cout << endl;
}int main() {// 1 默认构造函数deque<int> q1;cout << "d1: ";printDeque(q1);// 2 初始化列表deque<int> d2_1({ 9, 8, 8, 6, 5 });cout << "d2_1: ";printDeque(d2_1);deque<int> d2_2 = { 1, 8, 8, 8, 5};cout << "d2_2: ";printDeque(d2_2);// 3 迭代器deque<int> d3(d2_2.begin()+1, d2_2.end()-1);cout << "d3: ";printDeque(d3);// 4 全0初始化deque<int> d4(10);cout << "d4: ";printDeque(d4);// 5 deque<int> 变量名(a, b),代表申请了a个空间,初始化值为bdeque<int> d5(8, 6);cout << "d5: ";printDeque(d5);// 6 拷贝构造函数deque<int> d6(d5);cout << "d6: ";printDeque(d6);return 0;}

deque赋值操作,代码见下:

#include<iostream>
#include<deque>using namespace std;void printDeque(deque<int> &d) {for (deque<int>::iterator iter = d.begin(); iter != d.end(); iter++) {cout << *iter << " ";}cout << endl;
}int main() {deque<int> d = { 9, 8, 5, 2, 1, 1 };cout << "d: ";printDeque(d);// 1 =赋值deque<int> d1;d1 = d;cout << "d1: ";printDeque(d1);// 2 assign(迭代器)deque<int> d2;d2.assign(d1.begin() + 1, d1.end());cout << "d2: ";printDeque(d2);// 3 初始化列表deque<int> d3;d3.assign({ 1, 2, 3, 5, 6, 7 });cout << "d3: ";printDeque(d3);// 4 初始化a个bdeque<int> d4;d4.assign(8, 6);cout << "d4: ";printDeque(d4);return 0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/81280.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java每日精进 5.15【分页实现】

1. 什么是对象转换和数据翻译&#xff1f; 对象转换 对象转换是指将一种类型的对象&#xff08;如数据库实体 UserDO&#xff09;转换为另一种类型的对象&#xff08;如前端响应对象 UserVO 或服务层 DTO&#xff09;。例如&#xff0c;一个 UserDO 包含用户 ID、姓名和部门 …

什么是API接口?API接口的核心价值

随着互联网技术的蓬勃发展&#xff0c;API 接口作为不同应用程序之间的关键纽带&#xff0c;其重要性愈发凸显。本文将从专业视角&#xff0c;深入剖析 API 接口的分类、原理、请求方式以及安全机制等核心要素&#xff0c;助力读者全面理解这一数字化基础设施。 一、API 接口及…

Linux_ELF文件

目录 前言&#xff1a; 一、ELF文件的类型 二、ELF文件的组成格式 1. ELF头部(ELF Header) 2. 节头表(Section Header Table) 3. 程序头表(Program Header Table) 4. 节(Sections)与段(Segments) 三、ELF文件从形成到加载轮廓 1、ELF可执行文件形成过程 2、 可执行文…

Go语言语法---输入控制

文章目录 1. fmt包读取输入1.1. 读取单个值1.2. 读取多个值 2. 格式化输入控制 在Go语言中&#xff0c;控制输入主要涉及从标准输入(键盘)或文件等来源读取数据。以下是几种常见的输入控制方法&#xff1a; 1. fmt包读取输入 fmt包中的Scan和Scanln函数都可以读取输入&#xf…

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】附录-C. 常用SQL脚本模板

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 附录C. 常用SQL脚本模板速查表一、数据清洗与预处理模板二、数据聚合与分析模板三、窗口函数应用模板四、性能优化与监控模板五、数据备份与恢复模板六、权限管理与安全模板七、事务与错误处理模板八、时…

51单片机课设基于GM65模块的二维码加条形码识别

系统组成 主控单元&#xff1a;51单片机&#xff08;如STC89C52&#xff09;作为核心控制器&#xff0c;协调各模块工作。 扫描模块&#xff1a;GM65条码扫描头&#xff0c;支持二维码/条形码识别&#xff0c;通过串口&#xff08;UART&#xff09;与单片机通信。 显示模块&a…

【OpenGL学习】(二)OpenGL渲染简单图形

文章目录 【OpenGL学习】&#xff08;二&#xff09;OpenGL渲染简单图形OpenGL渲染图形流程顶点&#xff0c;图元和片元VAO&#xff0c;VBO &#xff0c;EBO着色器示例&#xff1a;使用OpenGL渲染三角形 【OpenGL学习】&#xff08;二&#xff09;OpenGL渲染简单图形 OpenGL渲…

基于STM32的INA226电压电流检测仪

系统总体框图 功率检测装置原理图功能及模块连接说明 一、系统功能概述 该装置以STM32F103C8T6微控制器为核心&#xff0c;集成功率检测、数据交互、状态显示和用户提示功能&#xff0c;通过模块化设计实现稳定运行。 二、各模块功能及连接方式 按键模块 功能&#xff1a…

YOLOv2目标检测算法:速度与精度的平衡之道

一、YOLOv2的核心改进&#xff1a;从V1到V2的蜕变 YOLOv2作为YOLO系列的第二代算法&#xff0c;在继承V1端到端、单阶段检测的基础上&#xff0c;针对V1存在的小目标检测弱、定位精度低等问题进行了全方位升级&#xff0c;成为目标检测领域的重要里程碑。 &#xff08;一&am…

将嵌入映射到 Elasticsearch 字段类型:semantic_text、dense_vector、sparse_vector

作者&#xff1a; Andre Luiz 讨论如何以及何时使用 semantic_text、dense_vector 或 sparse_vector&#xff0c;以及它们与嵌入生成的关系。 通过这个自定进度的 Search AI 实践学习亲自体验向量搜索。你可以开始免费云试用&#xff0c;或者在本地机器上尝试 Elastic。 多年来…

uniapp取消浏览自动填充

为了防止浏览器自动将记住的密码回填进type"password"输入框&#xff0c;所以在type"password"输入框上面加了两行代码&#xff0c;使浏览器将密码填充到新加的输入框里&#xff0c;并将这两个input隐藏掉 <input type"password" autocomple…

从数据包到可靠性:UDP/TCP协议的工作原理分析

之前我们已经使用udp/tcp的相关接口写了一些简单的客户端与服务端代码。也了解了协议是什么&#xff0c;包括自定义协议和知名协议比如http/https和ssh等。现在我们再回到传输层&#xff0c;对udp和tcp这两传输层巨头协议做更深一步的分析。 一.UDP UDP相关内容很简单&#xf…

显卡、Cuda和pytorch兼容问题

这里写目录标题 驱动与CUDA版本兼容性问题1. **驱动与CUDA版本兼容性问题**2. **任务特性与硬件适配差异**3. **优化策略与框架配置差异**4. **散热与功耗限制**5. **数据传输与CPU瓶颈**排查建议总结 查询PyTorch中实际使用的CUDA版本**1. 查询PyTorch中实际使用的CUDA版本***…

DeepSeek 大模型部署全指南:常见问题、优化策略与实战解决方案

DeepSeek 作为当前最热门的开源大模型之一&#xff0c;其强大的语义理解和生成能力吸引了大量开发者和企业关注。然而在实际部署过程中&#xff0c;无论是本地运行还是云端服务&#xff0c;用户往往会遇到各种技术挑战。本文将全面剖析 DeepSeek 部署中的常见问题&#xff0c;提…

Hadoop的目录结构和组成

Hadoop 目录结构 bin 目录&#xff1a;包含了 Hadoop 的各种命令行工具&#xff0c;如hadoop、hdfs等&#xff0c;用于启动和管理 Hadoop 集群&#xff0c;以及执行各种数据处理任务。etc 目录&#xff1a;存放 Hadoop 的配置文件&#xff0c;包括core-site.xml、hdfs-site.xm…

Python Matplotlib 库【绘图基础库】全面解析

让AI成为我们的得力助手&#xff1a;《用Cursor玩转AI辅助编程——不写代码也能做软件开发》 一、发展历程 Matplotlib 由 John D. Hunter 于 2003 年创建&#xff0c;灵感来源于 MATLAB 的绘图系统。作为 Python 生态中最早的可视化工具之一&#xff0c;它逐渐成为科学计算领…

车载以太网驱动智能化:域控架构设计与开发实践

title: 车载以太网驱动专用车智能化&#xff1a;域控架构设计与开发实践 date: 2023-12-01 categories: 新能源汽车 tags: [车载以太网, 电子电气架构, 域控架构, 专用车智能化, SOME/IP, AUTOSAR] 引言&#xff1a;专用车智能化转型的挑战与机遇 专用车作为城市建设与工业运输…

图论模板(部分)

图论模板&#xff08;部分&#xff09; maincpp #include <iostream> #include <climits> #include <limits>typedef unsigned long long ull; typedef long long ll; typedef long double ld; typedef std::pair<int, int> PII;#define rep(i, n) f…

2025年【道路运输企业安全生产管理人员】考试题库及道路运输企业安全生产管理人员考试内容

一、考试概述 2025年道路运输企业安全生产管理人员考试题库由【安全生产模拟考试一点通】平台发布&#xff0c;涵盖安全生产法律法规、车辆技术管理、从业人员管理、应急预案编制等核心领域。考试重点考察考生对安全生产主体责任、风险管控、隐患排查等实务操作的掌握程度&…

分贝计在噪音污染源识别中的用途

分贝计在噪音污染源识别中的作用 噪音污染是现代社会面临的一个普遍问题&#xff0c;尤其在城市化进程加快的背景下&#xff0c;交通、工业、建筑和娱乐活动等产生的噪音对人们的生活质量和健康造成了严重影响。为了有效管理和控制噪音污染&#xff0c;首先需要准确识别噪音的…