//deque的赋值操作
void printdeque(const deque<int>& v)
{//加入const后it的值不可以跟改//只读;
for (deque<int>::const_iterator it = v.begin(); it != v.end(); it++)
{
cout << *it << " " ;
}
cout << endl;
}
void test5()
{
deque<int>d3;
for (int i = 0; i < 10; i++)
{
d3.push_back(i);
}
deque<int>d2;
d3 = d2;
printdeque(d2);
//assign赋值
deque<int>d2;
d2.assign(d3.begin(), d3.end());
printdeque(d2);
deque<int>d2;
d2.assign(10,100);
printdeque(d2);
}
int main()
{
test5();
system("pause");
return 0;
}
//deque大小操作:对大小进行操作;
void printdeque(const deque<int>& d)
{//加入const后it的值不可以跟改//只读;
for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
void test6()
{
deque<int>d3;
for (int i = 0; i < 10; i++)
{
d3.push_back(i);
}
if (d3.empty())
{
cout << "大小不为空" << endl;
}
else
{
cout << d3.size() << endl;
}
//重新指定大小
d3.resize(15, 1);
printdeque(d3);
d3.resize(5);//只要5个数
printdeque(d3);
}
/对deque容器进行插入和删除
void printDeque(deque<int>&d)
{
for(deque <int>::const_iterator it=d.begin();it!=d.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
void test()
{
deque<int>d1;
//尾插
d1.push_bacK(10);
d1.push_bacK(20);
//头插
d1.push_front(100);
d1.push_front(200);
printDeque(d1);
//删除
//头删
d1.pop_front();
//尾删
d1.pop_back();
printDeque(d1);
}
void test2()
{
deque<int>d2;
d2.push_bacK(10);
d2.push_bacK(20);
d2.push_front(100);
d2.push_front(200);
printDeque(d2);
//insert插入
d2.insert(d2.begin(),1000);
d2.insert(d2.begin(),2,10000);
printDeque(d2);
deque<int>d3;
d3.push_bacK(1);
d3.push_bacK(2);
d3.push_front(3);
//按照区间进行插入
d2.insert(d1.begin(),d3.begin(),d3.end());
printDeque(d2);
void test3()
{
deque<int>d2;
d2.push_bacK(10);
d2.push_bacK(20);
d2.push_front(100);
d2.push_front(200);
printDeque(d2);
//删除
deque<int>::iterator it=d1.begin();
it++;//迭代器向后移动一位
d1.erase(it);//删除迭代器所指的位置元素;
printDeque(d2);
//按区间方式进行删除;
d2.clear(); //清空函数;
d1.erase(d1.begin(),d1.end());
printDeque(d2);
}
}
int main()
{
test1();
test2();
test3();
system("pause");
return 0;
}
//插入和删除提供的位置是迭代器;
//deque数据存取
//除了用迭代器获取deque容器中的元素,[]和at也可以;
//对于deque中的数据进行存取
#include<iostream>
using namespace std;
#include<string>
void test2()
{
deque<int>d2;
d2.push_bacK(10);
d2.push_bacK(20);
d2.push_front(100);
d2.push_front(200);
printDeque(d2);
for(int i=0;i<d2.size();i++)
{
cout<<d[i]<<" ";
}
cout<<endl;
//通过at方式进行访问
for(int i=0;i<d2.size();i++)
{
cout<<d.at(i)<<" ";
}
cout<<endl;
cou<<"d2的第一个元素是"<<d1.front()<<endl;
cou<<"d2的最后一个元素是"<<d1.back()<<endl;
}
//deque排序
利用算法实现对deque容器进行排序;
//对于支持随机访问的迭代器的容器,都可以利用sort算法直接对其进行排序 例如:vector容器也可以利用sort函数;
//sort(iterator beg,iterator end)//对beg和end区间元素进行排序
void printDeque(deque<int>&d)
{
for(deque <int>::const_iterator it=d.begin();it!=d.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
void test4()
{
deque<int>d4;
d4.push_bacK(20);
d4.push_bacK(10);
d4.push_front(100);
d4.push_front(200);
d4.push_bacK(8);
printDeque(d4);
//排序 sort//默认排序规则从小到大;
sort(d4.begin(),d4.end());//提供迭代器给函数
cout<<"排序后"<<endl;
printDeque(d4);
}
int main()
{
test4();
system("pause");
return 0;
}