Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >deque容器04之插入和删除

deque容器04之插入和删除

作者头像
大忽悠爱学习
发布于 2021-03-02 09:02:25
发布于 2021-03-02 09:02:25
33400
代码可运行
举报
文章被收录于专栏:c++与qt学习c++与qt学习
运行总次数:0
代码可运行

插入和删除

函数原型:

两端插入操作:

指定位置操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<iostream>
using namespace std;
#include<deque>
//deque的插入与删除操作
void p(const deque<int>& d)
{
	for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
	{
		//*it = 100; 加了const关键字后,就无法对数据进行修改
		cout << *it << " ";
  }
	cout << endl;
}
void realApply()
{
	deque<int>d1;
	//1.尾插
	d1.push_back(5);
	d1.push_back(2);
	d1.push_back(0);
	cout << "尾插:";
	p(d1);
	//2.头插
	d1.push_front(1);
	d1.push_front(2);
	d1.push_front(5);
	cout << "头插:";
	p(d1);
	//3.尾删
	d1.pop_back();
	cout << "尾删:";
	p(d1);
	//4.头删
	d1.pop_front();
	cout << "头删:";
	p(d1);
	//5.在pos位置插入elem元素的拷贝,返回新元素的值
	int pos=*d1.insert(d1.begin(),5);  //第一个参数必须填迭代器,第二个参数填插入的元素
	cout << "指定位置插入新元素后: ";
	p(d1);
	cout << "新元素的值:" << pos << endl;
	//6.在pos位置插入n个elen元素,无返回值
	d1.insert(d1.begin(), 3, 520);
	cout << "指定位置插入N个新元素之后:";
	p(d1);
	//7.在指定位置插入区间的数据,无返回值
	d1.insert(d1.begin(), d1.begin(), d1.end()-5); //这里的end-计算方法和vector相反,deque这里是从末尾算起,vector从开头算起
	cout << "指定位置插入某段区间的值后: ";
	p(d1);
	//8.删除pos位置的数据
	d1.erase(d1.begin());
	cout << "删除pos位置的数据后: ";
	p(d1);
	//9.删除某段区间数据
	d1.erase(d1.begin(), d1.end()-5);
	cout << "删除某段区间数据后: ";
	p(d1);
	//10.清空所有数据
	d1.clear();
	cout << "清空所有数据后: ";
	p(d1);
}
int main()
{
	realApply();
	system("pause");
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
STL——deque详解
deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间
P_M_P
2024/01/18
1920
STL——deque详解
C++STL容器deque
deque容器 deque容器基本概念 功能: 双端数组,可以对头端进行插入删除操作 deque与vector区别: vector对于头部的插入删除效率低,数据量越大,效率越低 deque相对而言,对头部的插入删除速度回比vector快 vector访问元素时的速度会比deque快,这和两者内部实现有关 deque内部工作原理: deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据 中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间 deque容器的迭代器也
CtrlX
2022/09/28
4710
C++STL容器deque
一万五千字C++STL【容器】详解 (全网最详细)
一般大多数的题目都可以使用vector容器,除非有特定需求使用其他容器更加合理方便;
C语言与CPP编程
2023/09/06
3.3K0
一万五千字C++STL【容器】详解 (全网最详细)
❤ 挑战C站最强C++ STL标准库总结(内含大量示例)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,(ノ´▽`)ノ♪-》点击这里->一个宝藏级人工智能教程网站。
全栈程序员站长
2022/09/09
1.5K0
❤ 挑战C站最强C++ STL标准库总结(内含大量示例)
c++STL容器之deque容器
deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放着真实数据。中控器维护的是每个缓冲区的地址,使得使用每个deque时像一块连续的内存空间。
西西嘛呦
2020/08/26
4370
deque容器06之排序操作
排序操作 函数原型: #include<iostream> using namespace std; #include<deque> #include<algorithm> //包含算法头文件 /
大忽悠爱学习
2021/03/02
5390
deque容器06之排序操作
⭐️STL⭐️之deque,stack,queue全解,❤️算法必备❤️<中>
文章目录 前言 一、deque stack栈 queue 总结 ---- 前言 STL有点多,码神分为了,上中下,三个部分来讲解😁,接下来我们看中, 此类分为三个小部分: 👍deque 👍stack 👍queue 一、deque 对于deque容器来说,一般将其称之为双端数组,与上章的vector不同,vector是只允许在尾端插入,而deque是双端插入,如果说的浪漫一点,就是双向奔赴,但是,vector的访问速度比deque快,而vector头部的插入和删除比deque慢 用图来表示deque就
秋名山码神
2022/12/13
3520
⭐️STL⭐️之deque,stack,queue全解,❤️算法必备❤️<中>
夜空中最亮的星---deque容器
deque容器内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据;中控器维护的每个缓冲区的地址,使得使用deque时像一片连续的内存空间,如下图所示:
用户6280468
2022/03/21
2980
夜空中最亮的星---deque容器
deque容器02之赋值操作
赋值操作 函数原型: #include<iostream> using namespace std; #include<deque> //deque的赋值操作 void p(const deque
大忽悠爱学习
2021/03/02
4600
deque容器02之赋值操作
一文了解STL容器deque类
双端队列底层是一段假象的连续空间,实际是分段连续的,为了维护其“整体连续”的假象,落在了deque的迭代器身上。
海盗船长
2020/08/27
8200
list容器的插入和删除
插入和删除 #include<iostream> using namespace std; #include<list> //防止数据修改,只做读取操作 void print(const list<i
大忽悠爱学习
2021/03/02
8720
list容器的插入和删除
C++进阶
建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。
全栈程序员站长
2022/07/13
6150
vector容器07之插入和删除
插入和删除 函数原型: #include<iostream> using namespace std; #include<vector> //vector的容量和大小 void print(vec
大忽悠爱学习
2021/03/02
5860
vector容器07之插入和删除
带你熟练使用list
本文的目的主要是介绍list的常用接口,从构造函数,访问数据,修改数据等接口函数介绍.帮助大家初步掌握list的使用,后续会分享list的模拟实现,从底层理解list更加深刻的理解list.
初阶牛
2023/10/14
2110
带你熟练使用list
C++提高编程笔记合集
建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。
CtrlX
2022/10/27
1.1K0
C++提高编程笔记合集
deque容器05之[]和at读取元素
[]和at读取元素 函数原型: #include<iostream> using namespace std; #include<deque> //deque的元素读取操作 void realAp
大忽悠爱学习
2021/03/02
4590
deque容器05之[]和at读取元素
容器适配器之stack,queue和优先级队列---基于List实现的链栈,链队列,优先级队列
注意:当我们在类外部实现insert函数的时候,typename用来声明iterator是一个类型,这里iterator是定义在List类模板中的一个类
大忽悠爱学习
2021/11/15
5760
双向链表的类模板的实现
全部代码加详细注释 List.hpp写法1----将迭代器类,节点类和链表类分开写,变量不统一,书写较麻烦
大忽悠爱学习
2021/11/15
1.1K0
双端队列和C++ std::deque详解
双端队列实际上是队列的一种变形,队列要求只能在队尾添加元素,在队头删除元素,而双端队列在队头和队尾都可以进行添加和删除元素的操作。双端队列是限定插入和删除操作在表的两端进行的线性表。C++中提供deque容器来实现双端队列的功能。
艰默
2023/09/05
8440
双端队列和C++ std::deque详解
C++(STL):19---deque之删除和emplace用法
deque 容器中,无论是添加元素还是删除元素,都只能借助 deque 模板类提供的成员函数。表 1 中罗列的是所有和添加或删除容器内元素相关的 deque 模板类中的成员函数。
用户3479834
2021/02/03
1.6K0
相关推荐
STL——deque详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档