code:
/* 迭代器 .begin(),.end() ,.rbegin() , .rend() 插入:.insert(position,element) 删除:.erase(position),.erase(pos_begin,pos_end) 清除:.clear() 大小:.size(), .max_size(), .empty() 交换:.swap(c2) , swap(c1,c2) 运算符:=,>,<,>=,<=,==,!= */ #include <iostream> using namespace std; #include <vector> #include <algorithm> #ifndef print_fun #define print_fun template<typename T> ///显示序列数据 void print(T b,T e) { bool isExit=false; while (b!=e) { cout<<*b++<<' '; isExit=true; } if(isExit) cout<<endl; } #endif int main() { int a[5]={44,33,55,66,11}; vector<int> vi(a,a+5);//用数组初始化一个迭代器vi cout<<vi.size()<<endl; sort(vi.begin(),vi.end());//元素排序 vector<int>::iterator b= vi.begin(); print(vi.begin(),vi.end());//正向迭代器 print(a,a+5); print(vi.rbegin(),vi.rend());//反向迭代器 vi.insert(vi.begin()+1,48);//插入到第2 vi.insert(vi.end(),49);//插入到最后 vi.insert(vi.end()-1,57); print(vi.begin(),vi.end()); vi.erase(vi.end()-1);//删除最后一个 print(vi.begin(),vi.end()); vi.erase(vi.begin()+2,vi.end()-2);//删除一个区间 print(vi.begin(),vi.end()); vector<int> v2(a,a+5); vi.swap(v2);//vi与v2交换 print(vi.begin(),vi.end()); vi.swap(v2);//vi再与v2交换回去 print(vi.begin(),vi.end()); vi.clear();//清空容器 cout<<vi.size()<<endl; return 0; }