deque容器的基本使用

懵懂的女人 提交于 2020-02-01 02:57:41

deque容器 使用deque

。即双端队列;特点为front和back都可以插入,也都可以删除;
只需要看懂数据结构中的双端队列,使用就根据特点即可;

代码

#include<iostream>
#include<deque>
using namespace std;
#include<algorithm>
//iterator 普通迭代器 reversed_iteraotr 反向迭代器  const_iteraotr 只读迭代器
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> d;
	d.push_back(10);
	d.push_back(20);
	d.push_back(30);
	d.push_front(40);
	d.push_front(50);
	d.push_front(60);

	printDeque(d);

	deque<int> d2(d.begin(),d.end());//根据迭代器区间构造deque
	d2.push_front(1000);

	d.swap(d2);
	printDeque(d);

	d.pop_front();
	d.pop_back();
	printDeque(d);
	
	d.insert(d.begin(),d2.begin(),d2.end());//根据迭代器区间插入数据
	printDeque(d);
}

bool myCompare(int val1,int val2)
{
	return val1 > val2; //给sort一个为真的案例,他就按这个顺序调整
}
void test02()
{
	deque<int>  d1;
	d1.push_back(10);
	d1.push_back(90);
	d1.push_back(70);
	d1.push_back(60);
	d1.push_back(90);
	d1.push_back(80);
	d1.push_back(30);
	d1.push_back(40);


	sort(d1.begin(),d1.end());//从小到大排序,参数是迭代器类型
	printDeque(d1);

	sort(d1.begin(),d1.end(),myCompare);//从大到小
	printDeque(d1);
}
int main()
{
	//test01();
	test02();
	return 0;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!