deque是支持双端插入删除的容器,oi中用来维护单调队列
声明方式
deque<int> d1;//声明一个叫d1的双向队列 deque<int> d2(d1);//声明一个d2并将d1拷贝到d2 deque<int> d3(2,10);//声明一个d3,并在其中插入两个为10的元素
添加或删除元素
d1.push_front(3);//往d1队首插入3 d1.push_back(2); //往d1队尾插入2 d1.pop_front();//删除d1队首元素 d1.pop_back();//删除d1队尾元素
访问
deque同时支持下标访问和迭代器访问
for(deque<int>::iterator it=d1.begin();it!=d1.end();it++) { cout<<(*it)<<" "; }//使用迭代器依次访问d1中的所有元素 for(int i=0;i<d1.size();i++) { cout<<d1[i]<<" "; }//使用下标依次访问d1中的所有元素 cout<<d1.front()<<" "<<d1.back()<<endl;//访问d1队首,队尾的元素
例题传送:https://www.jisuanke.com/minicourse/803/41848