/* deque特性 下标:.operator[](i)不检查越界,.at(i) 删除:.pop_front(),.pop_back() */ #include<iostream> using namespace std; #include<deque> #include "print.h" int main() { deque<char> dq; dq.push_back('c'); dq.push_back('d'); dq.push_back('e'); dq.push_back('f'); print(dq.begin(),dq.end()); dq[1]='t';//把 d 改为 t for(int i=0;i<dq.size();i++) cout<<dq[i]<<' '; cout<<endl; dq.pop_back();//删除最后一个 dq.pop_front();//删除第一个 print(dq.begin(),dq.end()); return 0; }
//print.h
//print.h #include <iostream> using namespace std; #ifndef print_fun #define print_fun template<typename T> ///显示序列数据 void print(T b,T e,char c=' ') { bool isExit=false; while (b!=e) { cout<<*b++<<c; isExit=true; } if(isExit) cout<<endl; } #endif