vector

2017-03-27  本文已影响0人  大海一滴写字的地方

定义二维数组

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交换数据

上一篇 下一篇

猜你喜欢

热点阅读