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;
}
#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;
}
相关文章推荐
- C++ Standard Stl -- SGI STL源码学习笔记(04) stl_deque && 初涉STL内存管理
- 【学习笔记】C++高级程序设计:STL:List 和 deque
- C++ STL学习笔记三 deque双端队列容器
- C++ STL学习笔记三 deque双端队列容器
- C++ STL学习之三:序列式容器deque深入学习
- C++ STL学习笔记九 map映照容器
- C++学习笔记——STL(二)vector容器
- STL学习笔记— —容器deque
- STL序列容器vector、deque、list和array学习笔记
- C++ STL 学习笔记
- 【C++ STL学习之三】容器deque深入学习
- C++学习笔记(四)之 STL
- C++ STL 学习笔记
- C++ STL学习笔记十二 hash_map映照容器
- C++ STL学习笔记2--String
- C++学习笔记(字符串string、vector_deque、queue,multiset、map、multimap、容器拷贝问题)
- C++ STL--vector向量容器学习笔记
- C++ STL 学习笔记
- STL学习笔记----3.容器 vector 和 deque
- C++ sgi STL学习笔记之non-mutating algorithm