1 / 7
文档名称:

vector.doc

格式:doc   大小:53KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

vector.doc

上传人:jianjian401 2017/7/24 文件大小:53 KB

下载得到文件列表

vector.doc

相关文档

文档介绍

文档介绍:Vector
C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们自己实现这样的类。在标准C++中,用容器向量(vector)实现。容器向量也是一个类模板。
标准库vector类型使用需要的头文件:#include <vector>。vector 是一个类模板。不是一种数据类型,vector<int>是一种数据类型。Vector的存储空间是连续的,list不是连续存储的。
一、定义和初始化
vector< typeName > v1; //默认v1为空,故下面的赋值是错误的v1[0]=5;
vector<typeName>v2(v1); 或v2=v1;或vector<typeName> v2((), ());//v2是v1的一个副本,()>()()()。
vector< typeName > v3(n,i);//v3包含n个值为i的typeName类型元素
vector< typeName > v4(n); //v4含有n个值为0的元素
int a[4]={0,1,2,3,3}; vector<int> v5(a,a+5);//v5的size为5,v5被初始化为a的5个值。后一个指针要指向将被拷贝的末元素的下一位置。
vector<int> v6(v5);//v6是v5的拷贝
vector< 类型> 标识符(最大容量,初始所有值);
二、值初始化
1> 如果没有指定元素初始化式,标准库自行提供一个初始化值进行值初始化。
2> 如果保存的式含有构造函数的类类型的元素,标准库使用该类型的构造函数初始化。
3> 如果保存的式没有构造函数的类类型的元素,标准库产生一个带初始值的对象,使用这个对象进行值初始化。
三、vector对象最重要的几种操作
1. (t) 在容器的最后添加一个值为t的数据,容器的size变大。
另外list有push_front()函数,在前端插入,后面的元素下标依次增大。
2. () 返回容器中数据的个数,size返回相应vector类定义的size_type的值。(2*)或
(2*, 99) 将v的容量翻倍(并把新元素的值初始化为99)
3. () 判断vector是否为空
4. v[n] 返回v中位置为n的元素
5. (pointer,number, content) 向v中pointer指向的位置插入number个content的内容。
还有v. insert(pointer, content),(pointer,a[2],a[4])将a[2]到a[4]三个元素插入。
6. () 删除容器的末元素,并不返回该元素。
(pointer1,pointer2) 删除pointer1到pointer2中间(包括pointer1所指)的元素。
vector中删除一个元素后,此位置以后的元素都需要往前移动一个位置,虽然当前迭代器位置没有自动加1,
但是由于后续元素的顺次前移,也就相当