deque
deque篇(双端队列)
头文件:#include<deque>
1.创建元素
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 deque<int>v;//创建无任何元素的队列 2 deque<char>v;//创建具有10个元素的队列 3 deque<double>v(10,8.8);//创建具有10个元素的队列,并赋初值8.8
2.插入元素
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 //1.尾部插入 2 v.push_back(10); 3 v.push_back(20); 4 v.push_back(30); 5 //2.头部插入,不会增加新元素,覆盖原有的位置(实际是v的元素后移) 6 v.push_front(4); 7 v.push_front(5); 8 //3.中间插入,不会增加新元素,覆盖原有的位置 9 v.insert(v.begin()+1,15);
3.元素的输出
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 //1.数组方式遍历 2 for(int i=0;i<v.size();i++) 3 cout<<v[i]<<endl; 4 //2.d迭代器遍历 5 deque<int>::iterator it; 6 for(it=v.begin();it!=v.end();it++) 7 cout<<*it<<endl; 8 deque<int>::reverse_iterator rit;//反向遍历 9 for(rit=v.rbegin();rit!=v.rend();rit++) 10 cout<<*rit<<endl;
4.元素的删除
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 //1.头部删除 2 v.pop_front(); 3 //2.尾部删除 4 v.pop_back(); 5 //3.中间删除erase 6 v.erase(v.begin()+1); 7 //4.clear清除 8 v.clear();