C++ Vector用法深入剖析
作者 斯人 | 发布于 2012 年 3 月 11 日

原文出处:http://developer.51cto.com/art/201002/183645.htm
(1)vector< 类型 > 标识符 ;

(2)vector< 类型 > 标识符(最大容量) ;

(3)vector< 类型 > 标识符(最大容量,初始所有值);

(4) int i[4] = {12,3,4,5};

vector< 类型 > vi(i , i+2); //得到i索引值为3以后的值 ;

(5)vector< vector< int > > //vi 定义2维的容器;记得一定要有空格,不然会报错

vector< int > line   
// 在使用的时候一定要首先将vi个行进行初始化;   
for(int i = 0 ; i < 10 ; i ++)  
{  
vector.push_back(line);  
}  

/// 个人认为使用vector定义二维数组很好,
因为是长度可以不预先确定。很好。


(6)C++ Vector排序

vector< int > vi ;   
vi.push_back(1);  
vi.push_back(3);  
vi.push_back(0);  
sort(vi.begin() , vi.end()); /// /小到大  
reverse(vi.begin(),vi.end()) /// 从大道小 

(7)顺序访问

vector < int > vi ;   
for( int i = 0 ; i < 10 ; i ++)  
{  
vector.push_back(i);  
}   
for(int i = 0 ; i < 10 ; i ++) /// 第一种调用方法  
{  
cout <<vector[i] <<" " ;   
}  
for(vector<int>::iterator it = vi.begin() ; 
it !=vi.end() ; it++) ///第二种调用方法  
{  
cout << *it << " " ;  
} 

(8)寻找

vector < int > vi ;   
for( int i = 0 ; i < 10 ; i ++)  
{  
vector.push_back(i);  
}   
vector < int >::interator it = find(vi.begin() , vi.end,3) ;  
cout << *it << endl ; ///返回容器内找到值的位置。 

(9)使用数组对C++ Vector进行初始化

int i[10] ={1,2,3,4,5,6,7,78,8} ;  
///第一种   
vector<int> vi(i+1,i+3); ///从第2个元素到第三个元素  
for(vector <int>::interator it = vi.begin() ; 
it != vi.end() ; it++)  
{  
cout << *it <<" " ;   
} 

(10) 结构体类型

struct temp  
{  
public :  
string str ;   
public :  
int id ;  
}tmp  
int main()  
{  
vector <temp> t ;   
temp w1 ;   
w1.str = "Hellowor" ;  
w1.id = 1 ;   
t.push_back(t1);  
cout << w1.str << "," <<w1.id <<endl ;   
return 0 ;   
} 

向量容器的成员函数

assign() //对容器中的元素赋值
at(),返回指定位置的元素
back(),返回最后一个元素
begn()返回第一个元素的迭代器
capacity()返回vector能容纳的数量
clear();清空所有元素
empty();判断vector是否为空
end();返回最末位的迭代器
erase();删除指定元素
front();返回第一个元素
get_allocator();返回vector内存分配器
insert();插入到vector容器中.
max_size();返回vector的最大数量
pop_back();移除最后一个元素
push_back();向vector最后添加元素
rbegin();返回vector尾部迭代器.
rend();返回起始的迭代器
reserve();设置vector最小元素容纳数量
resize();改变vector元素数量的大小
size();返回元素数量的大小
swap();交换两个vector;
原文出处:http://www.imsiren.com/archives/185