c++学习记录 deque容器—构造函数

1、deque容器基本概念

1.1 功能

  • 双端数组,可以对头端进行插入删除操作

1.2 deque与vector区别:

  • vector对于头部的插入删除效率低,数据量越大,效率越低
  • deque相对而言,对头部的插入删除速度比vector快
  • vector访问元素时的速度比deque快,这和两者内部实现有关

1.3 deque内部工作原理:

  • deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据
  • 中控器维护的是每个缓存区的地址,使得使用deque时像一片连续的内存空间
  • deque容器的迭代器支持随机访问

2、deque容器构造函数

2.1 函数原型:

  • deque<T>deqT;                             //默认构造形式
  • deque(beg,end);                            //构造函数将[beg,end) 区间中的元素拷贝给本身
  • deque(n,elem);                              //构造函数将n个elem拷贝给本身
  • deque(const deque& deq);            //拷贝构造函数
#include<iostream>
using namespace std;
#include<deque>void printDeque(const deque<int>& d)
{for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++){cout << *it << " ";}cout << endl;
}void test01()
{deque<int>d1;for (int i = 0; i < 10; i++){d1.push_back(i);}printDeque(d1);deque<int>d2(d1.begin(), d1.end());printDeque(d2);deque<int>d3(10, 100);printDeque(d3);deque<int>d4(d3);printDeque(d4);
}int main()
{test01();system("pause");return 0;
}

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

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

相关文章

vue中scss样式污染引发的思考

新做了一个项目&#xff0c;就是在登录后&#xff0c;就会产生左侧菜单的按钮颜色不一样。 然后发现样式是从这里传过来的 发现是登录页面的css给污染了 就是加了scope就把这个问题解决了 然后想总结一下这个思路&#xff1a;就是如何排查污染样式&#xff1a; 如果出现了…

东莞IBM服务器维修之IBM x3630 M4阵列恢复

记录东莞某抖音电商公司送修一台IBM SYSTEM X3630 M4文档服务器RAID6故障导致数据丢失的恢复案例 时间&#xff1a;2024年02月20日&#xff0c; 服务器品牌&#xff1a;IBM System x3630 M4&#xff0c;阵列卡用的是DELL PERC H730P 服务器用途和用户位置&#xff1a;某抖音电…

李沐《动手学深度学习》优化算法(相关概念、梯度下降法、牛顿法)

系列文章 李沐《动手学深度学习》预备知识 张量操作及数据处理 李沐《动手学深度学习》预备知识 线性代数及微积分 李沐《动手学深度学习》线性神经网络 线性回归 李沐《动手学深度学习》线性神经网络 softmax回归 李沐《动手学深度学习》多层感知机 模型概念和代码实现 李沐《…

二叉树(C/C++)

本篇将较为详细的介绍二叉树的相关知识&#xff0c;以及二叉树的实现。对于二叉树的相关知识&#xff0c;本篇介绍了其概念、特殊的二叉树、性质还有存储结构。 接着对于实现二叉树的每个函数都有其思路讲解&#xff0c;主要的函数分为&#xff1a;遍历&#xff1a;前中后序遍历…

【低代码开发_RuoYi_框架】RuoYi框架_前端页面部署/搭建

开源软件的影响力 随着信息技术的快速发展&#xff0c;开源软件已经成为软件开发的趋势&#xff0c;并产生了深远的影响。开源软件的低成本、可协作性和透明度等特点&#xff0c;使得越来越多的企业和个人选择使用开源软件&#xff0c;促进了软件行业的繁荣。然而&#xff0c;…

白酒:新工艺、新技术在白酒生产中的应用与展望

随着科技的不断发展&#xff0c;新工艺、新技术在豪迈白酒生产中的应用越来越广泛。这些新技术的应用&#xff0c;不仅提高了豪迈白酒的品质和生产效率&#xff0c;还为白酒产业的可持续发展提供了有力支持。 首先&#xff0c;新工艺在豪迈白酒生产中的应用具有重要意义。传统的…

Redis的BigKey

文章目录 1. 常见面试题2. MoreKey案例2. BigKey2. BigKey生产调优 1. 常见面试题 海量数据里查询某一个固定前缀的key&#xff1f;你如何生产上限制key * /flushdb /flushall等危险命令以防止误删误用&#xff1f;Memory Usage命令你用过吗&#xff1f;多大算BigKey&#xff…

双流机场到天府机场ADS-B数据导入MATLAB

MATLAB导入数据 导入的数据Excel部分截图&#xff1a; 一些处理 % 导入外部轨迹数据并转成标准形式 clear;clc; %% 导入&预处理 [NUM,TXT,RAW]xlsread(2021年10月31日CTU-TFU); time_cell RAW(3:end,1); %拉取时间数据&#xff08;cell&#xff09; time_char char(t…

php基础学习之错误处理(其二)

在实际应用中&#xff0c;开发者当然不希望把自己开发的程序的错误暴露给用户&#xff0c;一方面会动摇客户对己方的信心&#xff0c;另一方面容易被攻击者抓住漏洞实施攻击&#xff0c;同时开发者本身需要及时收集错误&#xff0c;因此需要合理的设置错误显示与记录错误日志 一…

最新开源!用C++编写的3D gaussian splatting

大家好&#xff0c;小柠檬给大家推荐一个用C编写的3D gaussian splatting的免费开源实现&#xff0c;专注于可移植、精益和快速。 OpenSplat采用相机姿势稀疏点&#xff0c;并计算一个场景文件&#xff08;.ply&#xff09;&#xff0c;稍后可以导入该文件以在其他软件中查看、…

在VMware中安装CentOS 7并配置Docker

VMware安装CentOS 7 一、介绍 该文章介绍如何使用启动U盘在虚拟机里面安装系统&#xff0c;虚拟机版本为VMware Workstation 16 pro&#xff0c;Linux版本为CentOS Linux release 7.9.2009 (Core)。 二、安装 1、创建虚拟机 点击创建新的虚拟机 选择典型就可以了&#xf…

利用圆锥渐变属性 conic-gradient() 实现仪表盘进度条效果

实现仪表盘初步思路 利用 css 中 圆锥渐变属性 绘制出中心向四周发散的图形。添加遮挡物&#xff0c;与背景色一致&#xff0c;遮盖掉中心内容&#xff0c;达到环形效果。 实现步骤 圆形仪表盘背景 绘制黑色圆形背景 <div class"circle"> </div> &l…