您的位置:首页 > 编程语言 > C语言/C++

C++ STL学习笔记3--deque

2013-09-29 15:43 441 查看
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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: