deque容器
构造函数
双端数组。
类似于vector容器。
#include<deque>
deque<int>d1;
for (int i = 0; i < 5; i++)
{
d1.push_back(i);
}
deque<int>d2(d1.begin(), d1.end());
deque<int>d3(10,100);
deque<int>d4(d3);
赋值操作
#include<deque>
deque<int>d1;
for (int i = 0; i < 5; i++)
{
d1.push_back(i);
}
deque<int>d2;//operator=赋值
d2=d1;
deque<int>d3;//assign方式赋值
d3.assign(d2.begin(),d2.end());
d3.assign(10,100);
大小操作
#include<deque>
deque<int>d;
for (int i = 0; i < 5; i++)
{
d.push_back(i);
}
d.empty();//判断容器是否为空
d.size();///容器中元素的大小
int num;
d.resize(num);//重新开辟的容器长度
d.resize(num, 'a');//如果容器变长,就用a来填充多余的空间
插入和删除
deque<int>d;
d.push_back(10);//尾插
d.pop_back();//尾删
d.push_front(0);//头插
d.pop_front();//头删
d.insert(d.begin(),1000)//在开始处插入一个1000
d.insert(d.begin(),2,1000)//在开始处插入两个1000
d.insert(d.begin(),d1.begin(),d1,end());//在开始处插入一个d1(区间)
deque<int>::iterator it = d.begin();
it++;
d.erase(it);//删除
d.clear();//清空
数据存取
deque<int>d;
//通过[]访问元素
for(int i=0;i<d.size();i++)
{
cout<<d[i]<<" ";
}
//通过at进行访问
for(int i=0;i<d.size();i++)
{
cout<<d.at(i)<<" ";
}
排序
利用系统提供的算法对deque容器进行排序
#include<algorithm>//利用算法需要包含algorithm头文件
deque<int>d;
d.push_back(10);
d.push_back(20);
d.push_back(30);
d.push_front(0);
d.push_front(1);
sort(d.begin(),d.end());//对d中元素进行排序(默认升序)