定义二维数组
vector < vector <int> > array(3);//注意> 和> 之间的空格。
for(int i=0;i <3;i++)
{array[i].resize(3);}//设置数组的大小3X3
//现在你可以和使用数组一样使用这个vector
定义方式
(1) vector<int> a(10); //定义了10个整型元素的向量(尖括号中为元素类型名,它可以是任何合法的数据类型),但没有给出初值,其值是不确定的。
(2)vector《int》 a(10,1); //定义了10个整型元素的向量,且给出每个元素的初值为1
(3)vector《int》 a(b); //用b向量来创建a向量,整体复制性赋值
(4)vector《int》 a(b.begin(),b.begin()+3); //定义了a值为b中第0个到第2个(共3个)元素【其函数的区间都是半闭开区间】
(5)int b[7]={1,2,3,4,5,9,8};vector《int》 a(b,b+2); //从数组中获得初值,有两个元素,值为1,2.
迭代器
;//定义一个可以迭代int型vector的迭代器iter,它指向text的首位
for(vector::iterator iter=text.begin();iter<text.end();iter++)
cout<<(*iter);//iter++指的是向前迭代一位,直到iter到超出末端迭代器为止,输出迭代器指向的值
函数
1.push_back 在数组的最后添加一个数据
2.pop_back 去掉数组的最后一个数据
3.at 得到编号位置的数据
4.begin 得到数组头的指针
5.end 得到数组的最后一个单元+1的指针
6.front 得到数组头的引用
7.back 得到数组的最后一个单元的引用
8.max_size 得到vector最大可以是多大
9.capacity 当前vector分配的大小
10.size 当前使用数据的大小
11.resize 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
12.reserve 改变当前vecotr所分配空间的大小
13.erase 删除指针指向的数据项
14.clear 清空当前的vector
15.rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)
16.rend 将vector反转构的结束指针返回(其实就是原来的begin-1)
17.empty 判断vector是否为空
18.swap 与另一个vector交换数据