应用举例如下:
/*
* 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;
}