应用举例如下:
/* * vector_1.cpp * * Created on: 2013年8月5日 * Author: 黄俊东 * 女神!女神!!! */ #include <iostream> #include <vector>//使用某种容器就要引入相应的头文件 #include <algorithm>//使用sort()函数,所以要引入这个头文件 using namespace std; /** * 打印一个区间中的所有元素 */ template <typename T> void print(T b , T e){ while( b!= e){ cout<<*b++<<' '; } cout<<endl; } /** * begin():第一个元素, * end():最后一个元素, * rbegin():倒数第一个元素 * rend():倒数最后一个元素 * 上面四个函数返回的都是一个迭代器 * * insert(pos,element) : 在pos这个位置上插入element这个元素 * erase(pos) :删除pos这个位置上的元素 * erase(begin,end) : 删除begin~end之间的元素 * clear() : 清除容器中的所有元素 * 上面的pos指的都是一个迭代器 * * size() : 容器中元素的个数 * max_size() : 容器的最大容量 * empty() : 判断容器是否为空 * vi.swap(v2) : 交换vi容器与v2容器的内容 * swap(vi,v2) : 同上 * * x.capacity() :返回容器的当前容量,不是标准容器的共性. */ int main(){ int a[5]={33,22,11,55,44}; vector<int> vi(a,a+5); cout<< vi.size()<<endl;//5 sort(vi.begin(),vi.end()); vector<int>::iterator b = vi.begin(); while(b!=vi.end()){//11 22 33 44 55 cout<<*b++<<' '; } cout<<endl; for(int i = 0 ; i < 5 ; ++i ){ cout<<a[i]<<',';//33,22,11,55,44, } cout<<endl; print(vi.begin(),vi.end());//11 22 33 44 55 print(a,a+5);//33 22 11 55 44 print(vi.rbegin(),vi.rend());//55 44 33 22 11 b = vi.begin(); vi.insert(++++b,66);//11 22 66 33 44 55 vi.insert(vi.begin(),77);//77 11 22 66 33 44 55 vi.insert(vi.end(),88);//77 11 22 66 33 44 55 88 print(vi.begin(),vi.end()); cout<<vi.size()<<'/'<<vi.max_size()<<endl;//8/1073741823 vi.erase(------vi.end()); print(vi.begin(),vi.end());//77 11 22 66 33 55 88 vi.erase(++++vi.begin(),--vi.end());//77 11 88 print(vi.begin(),vi.end()); vector<int> v2(a,a+5); print(v2.begin(),v2.end());//33 22 11 55 44 vi.swap(v2); cout<<"=========================="<<endl; print(vi.begin(),vi.end());//33 22 11 55 44 print(v2.begin(),v2.end());//77 11 88 swap(vi,v2); cout<<"=========================="<<endl; print(vi.begin(),vi.end());//77 11 88 print(v2.begin(),v2.end());//33 22 11 55 44 vector<int> t = vi; vi = v2; v2 = t; cout<<"=========================="<<endl; print(vi.begin(),vi.end());//33 22 11 55 44 print(v2.begin(),v2.end());//77 11 88 vi.clear(); cout<<vi.size()<<endl;//0 print(vi.begin(),vi.end());//这时什么东西也没有了 vector<int> x; //x.capacity() 返回容器当前的容量 cout<<"vector当前容量:"<<x.capacity()<<endl; }