IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> deque容器 -> 正文阅读

[系统运维]deque容器

在b站看黑马程序员C++的课做的笔记?

目录

一、deque容器的基本概念

二、deque构造函数

三、deque赋值操作


一、deque容器的基本概念

1、功能:双端数组,可以对头端进行插入删除操作

2、deque与vector区别:

(1)vector对于头部的插入删除效率低,数据量越大,效率越低

(2)deque相对而言,对头部的插入删除速度比vector快

(3)vector访问元素时的速度会比deque快,这和两者内部实现有关

3、deque内部工作原理:

deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据

中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间

4、deque容器中的迭代器也是支持随机访问的

二、deque构造函数

1、功能描述:

deque容器构造

2、函数原型:

(1)deque<T>deqT; //默认构造形式

(2)deque(beg,end); //构造函数将[beg,end)区间的元素拷贝给本身。

(3)deque(n,elem); //构造函数将n个elem拷贝给本身

(4)deque(const deque&deq); //拷贝构造函数

3、示例代码:

#include<iostream>
using namespace std;
#include<deque>


//输出接口
void printDeque(deque<int>& d)
{
	for (deque<int>::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);   //往d1添加10个元素
	}
	printDeque(d1);  

	//第二种方式  区间
	deque<int>d2(d1.begin(), d1.end()); //t提供两个迭代器,将d1中的数赋值给d2
	printDeque(d2);

	//第三钟方式   n个elem
	deque<int>d3(10, 100);
	printDeque(d3);

	//第四种方式 拷贝构造
	deque<int>d4(d3);
	printDeque(d4);
}

int main()
{
	test01();
	system("pause");
	return 0;
}

4、运行结果:

三、deque赋值操作

1、功能描述:给deque容器进行赋值

2、函数原型:

?(1)deque&operstor(coust deque &deq);? ? ? ? ? ?//重载等号操作符

?(2)assign(beg,end);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//将[beg.end)区间中的数据拷贝赋值给本身

?(3)assign(n,elem);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //将n个elem拷贝赋值给本身

3、示例代码:

#include<iostream>
using namespace std;
#include<deque>

//输出接口
void printDeque(deque<int>& d)
{
	for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)  //const_iterator为只读迭代器
	{
		cout << *it << " ";
	}
	cout << endl;
}

void test01()
{
	deque<int>d1;
	for (int i = 0; i < 10; i++)
	{
		d1.push_back(i);   //往d1添加10个元素
	}
	printDeque(d1);

	//operator=赋值
	deque<int>d2;
	d2 = d1;
	printDeque(d2);

	//assign 赋值
	deque<int>d3;
	d3.assign(d1.begin(), d1.end());
	printDeque(d3);

	//n个elem
	deque<int>d4;
	d4.assign(10, 100);
	printDeque(d4);

}

int main()
{
	test01();
	system("pause");
	return 0;
}

4、运行结果:

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 12:21:23  更:2022-01-28 12:22:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 8:41:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码