deque的各种方法使用大全,用一个程序展示
#include<iostream>
# include<deque>
using namespace std;
int main()
{ //四种初始化方法
deque<int>d;//创建空deque
deque<int>d1(2,5);//创建有两个0的deque
deque<int>d2(10,1);//创建一个拥有10个1的deque
deque<int>d3(d2);//复制构造函数
//向尾部插入元素
d.push_back(10);
d.push_back(20);
d.push_back(30);
d.push_back(40);
d.push_back(50);
//at(n)取第n个元素
cout<<"push_back之后……"<<endl;
for(int i=0;i<d.size();i++)
cout<<d.at(i)<<"\t";
cout<<endl;
//双向队列首部插入元素
d.push_front(5);
d.push_front(4);
d.push_front(3);
d.push_front(2);
d.push_front(1);
cout<<"push_front之后"<<endl;
for(int i=0;i<d.size();i++)
cout<<d.at(i)<<"\t";
//双向队列首部弹出元素
d.pop_front();
d.pop_front();
d.pop_front();
cout<<"pop_front之后"<<endl;
for(int i=0;i<d.size();i++)
cout<<d.at(i)<<"\t";
cout<<endl;
//双向队列尾部弹出元素
d.pop_back();
d.pop_back();
cout<<"pop_back之后"<<endl;
for(int i=0;i<d.size();i++)
cout<<d.at(i)<<"\t";
cout<<endl;
deque<int>::iterator it=d.begin();
d.insert(it,1);//
cout<<*it<<endl;
cout<<"在某一个位置insert一个元素之后"<<endl;
for(int i=0;i<d.size();i++)
cout<<d.at(i)<<"\t";
cout<<endl;
d.insert(d.begin()+3,3,100);
cout<<"在某一个位置insert多个元素之后"<<endl;
for(int i=0;i<d.size();i++)
cout<<d.at(i)<<"\t";
cout<<endl;
for(int i=0;i<d2.size();i++)
cout<<d2.at(i)<<"\t";
cout<<endl;
d.insert(d.begin(),d2.begin(),d2.end());
cout<<"在某一个位置insert同类deque元素之后"<<endl;
for(int i=0;i<d.size();i++)
cout<<d.at(i)<<"\t";
cout<<endl;
cout<<d.front()<<endl;
cout<<d.back()<<endl;
cout<<"在某一个位置front.back之后"<<endl;
for(int i=0;i<d.size();i++)
cout<<d.at(i)<<"\t";
cout<<endl;
deque<int>::reverse_iterator end=d.rbegin();
cout<<"从尾部开始输出"<<endl;
for(;end!=d.rend();end++)
cout<<*end<<"\t";
cout<<endl;
d.assign(1,99);
cout<<"用n个元素置换原来的deque之后"<<endl;
for(int i=0;i<d.size();i++)
cout<<d.at(i)<<"\t";
cout<<endl;
d.assign(d1.begin(),d1.end());
cout<<"另一个deque替换"<<endl;
for(int i=0;i<d.size();i++)
cout<<d.at(i)<<"\t";
cout<<endl;
system("pause");
return 0;
}
本文通过一个程序展示了deque的多种方法使用,包括初始化、插入、删除、查找、修改等基本操作。

被折叠的 条评论
为什么被折叠?



