C++,stl,deque容器详解

目录

1.deque容器的构造函数

代码示例:

2.deque的赋值操作

3.deque的大小操作

4.deque的插入和删除

5.deque的数据存取

6.deque的排序操作


1.deque容器的构造函数

代码示例:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

void print(deque<int> &d)
{
	for(deque<int>::iterator i = d.begin(); i != d.end(); i++)
		cout << *i << ' ';
		
	cout << endl;
}
int main()
{
	deque<int> d;
	
	d.push_back(3);	
	d.push_back(5);	
	d.push_back(36);	
	d.push_back(7);	
	d.push_back(58);
	
	print(d);	
	
	//区间方式赋值
	deque<int> d2(d.begin(),d.end());
	print(d2);
	
	deque<int> d3(3,99);
	print(d3);
	
	deque<int> d4(d2);
	print(d4);
	
	return 0;
}

2.deque的赋值操作

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

void print(const deque<int> &d)
{
	for(deque<int>::const_iterator i = d.begin(); i != d.end(); i++)
		cout << *i << ' ';
		
	cout << endl;
}

int main()
{
	deque<int> d1;
	
	d1.push_back(3);	
	d1.push_back(5);	
	d1.push_back(36);	
	d1.push_back(7);	
	d1.push_back(58);
	
	print(d1);
	
	deque<int> d2;
	d2 = d1;
	print(d2);
	
	deque<int> d3;
	d3.assign(d2.begin(),d2.end());
	print(d3);
	
	deque<int> d4;
	d4.assign(3,99);
	print(d4);
	
	return 0;
}

3.deque的大小操作

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

void print(const deque<int> &d)
{
	for(deque<int>::const_iterator i = d.begin(); i != d.end(); i++)
		cout << *i << ' ';
		
	cout << endl;
}

int main()
{
	deque<int> d1;
	
	d1.push_back(3);	
	d1.push_back(5);	
	d1.push_back(36);	
	d1.push_back(7);	
	d1.push_back(58);
	
	print(d1);
	
	cout << d1.empty() << endl;
	cout << d1.size() << endl;
	
	d1.resize(7,99);
	cout << d1.size() << endl;
	print(d1);
	
	return 0;
}

4.deque的插入和删除

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

void print(const deque<int> &d)
{
	for(deque<int>::const_iterator i = d.begin(); i != d.end(); i++)
		cout << *i << ' ';
		
	cout << endl;
}

int main()
{
	deque<int> d1;
	
	d1.push_back(3);	
	d1.push_back(5);	
	d1.push_back(36);	
	
	d1.push_front(2);
	d1.push_front(9);
	
	print(d1);
	
	d1.pop_back();
	print(d1);
	
	d1.pop_front();
	print(d1);
	
	d1.insert(d1.begin(),2,100);
	print(d1);
	
	d1.erase(d1.begin()+2);
	print(d1);
	
	d1.clear();
	print(d1);
	
	cout << "end";
	
	return 0;
}

5.deque的数据存取

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

void print(const deque<int> &d)
{
	for(deque<int>::const_iterator i = d.begin(); i != d.end(); i++)
		cout << *i << ' ';
		
	cout << endl;
}

int main()
{
	deque<int> d1;
	
	d1.push_back(3);	
	d1.push_back(5);	
	d1.push_back(36);	
	
	d1.push_front(2);
	d1.push_front(9);
	
	print(d1);
	
	for(int i = 0; i < d1.size(); i++)
	{
		cout << d1[i] << ' ';
	}
	cout << endl;
	
	for(int i = 0; i < d1.size(); i++)
	{
		cout << d1.at(i) << ' ';
	}
	cout << endl;
	
	cout << d1.front() << endl;
	cout << d1.back() << endl;
	
	return 0;
}

6.deque的排序操作

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

void print(const deque<int> &d)
{
	for(deque<int>::const_iterator i = d.begin(); i != d.end(); i++)
		cout << *i << ' ';
		
	cout << endl;
}

int main()
{
	deque<int> d1;
	
	d1.push_back(3);	
	d1.push_back(5);	
	d1.push_back(36);	
	
	d1.push_front(2);
	d1.push_front(9);
	
	print(d1);
	
	sort(d1.begin(),d1.end());
	cout << "排序后:" << endl;
	//默认从小到大排序
	print(d1);
	
	return 0;
}
相关推荐
祁同伟.1 小时前
【C++】多态
开发语言·c++
rechol1 小时前
C++ 继承笔记
java·c++·笔记
朱嘉鼎2 小时前
C语言之可变参函数
c语言·开发语言
SunkingYang2 小时前
详细介绍C++中捕获异常类型的方式有哪些,分别用于哪些情形,哪些异常捕获可用于通过OLE操作excel异常
c++·excel·mfc·异常捕获·comerror
北冥湖畔的燕雀5 小时前
C++泛型编程(函数模板以及类模板)
开发语言·c++
QX_hao6 小时前
【Go】--map和struct数据类型
开发语言·后端·golang
你好,我叫C小白6 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
Evand J8 小时前
【MATLAB例程】基于USBL和DVL的线性回归误差补偿,对USBL和DVL导航数据进行相互补偿,提高定位精度,附代码下载链接
开发语言·matlab·线性回归·水下定位·usbl·dvl
Larry_Yanan9 小时前
QML学习笔记(四十二)QML的MessageDialog
c++·笔记·qt·学习·ui
爱喝白开水a9 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱