1.功能:向deque容器插入和删除数据
2.函数原型:
- 两端插入操作
- push_back(elem); //在容器尾部添加一个数据
- push_front(elem); //在容器头部插入一个数据
- pop_back(); //删除容器最后一个数据
- pop_front(); //删除容器第一个数据
- 指定位置操作
- insert(pos,elem); //在pos位置插入一个elem元素的拷贝,返回数据的位置
- insert(pos,n,elem); //在pos位置插入n个elem数据,无返回值
- insert(pos,begin,end); //在pos位置插入[ begin ,end)区间的数据,无返回值
- clear(); //清空容器的所有数据
- erase(begin ,end); //删除[ begin, end)区间的数据,返回下一个数据的位置
- erase(pos);// 删除pos位置的数据,返回下一个数据的位置
#include<iostream> #include<deque> using namespace std; void printdeque(const deque<int> &d) { for(deque<int>::const_iterator it=d.begin();it!=d.end();it++) { cout<<*it<<" "; } cout<<endl; } void test1() { deque<int> d; //1.尾插 d.push_back(10); d.push_back(20); printdeque(d); //10 20 //2.头插 d.push_front(100); d.push_front(200); printdeque(d); //200 100 10 20 //3. 尾删 d.pop_back(); printdeque(d);//200 100 10 //4.头删 d.pop_front(); printdeque(d); //100 10 } void test2() { deque<int> d1; d1.push_back(10); d1.push_back(20); d1.push_front(100); d1.push_front(200); printdeque(d1); //200 100 10 20 d1.insert(d1.begin(),666); printdeque(d1); //666 200 100 10 20 d1.insert(d1.begin(),2,88); printdeque(d1); //88 88 666 200 100 10 20 deque<int> d2; d2.push_back(1); d2.push_back(2); d2.push_back(3); d1.insert(d1.begin(),d2.begin(),d2.end()); printdeque(d1); //1 2 3 88 88 666 200 100 10 20 } void test3() { deque<int> d1; d1.push_back(10); d1.push_back(20); d1.push_front(100); d1.push_front(200); deque<int>::iterator it=d1.begin(); d1.erase(it); printdeque(d1); //100 10 20 d1.erase(d1.begin(),d1.end()-1); printdeque(d1); //20 } int main() { test1(); test2(); test3(); return 0; }