vector容器用法详解文档格式.docx
《vector容器用法详解文档格式.docx》由会员分享,可在线阅读,更多相关《vector容器用法详解文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
∙vector(begin,end):
复制[begin,end)区间另一个数组的元素到vector中
2.增加函数
∙voidpush_back(constT&
x):
向量尾部增加一个元素X
∙iteratorinsert(iteratorit,constT&
向量中迭代器指向元素前增加一个元素x
∙iteratorinsert(iteratorit,intn,constT&
向量中迭代器指向元素前增加n个相同的元素x
∙iteratorinsert(iteratorit,const_iteratorfirst,const_iteratorlast):
向量中迭代器指向元素前插入另一个相同类型向量的[first,last)间的数据
3.删除函数
∙iteratorerase(iteratorit):
删除向量中迭代器指向元素
∙iteratorerase(iteratorfirst,iteratorlast):
删除向量中[first,last)中元素
∙voidpop_back():
删除向量中最后一个元素
∙voidclear():
清空向量中所有元素
4.遍历函数
∙referenceat(intpos):
返回pos位置元素的引用
∙referencefront():
返回首元素的引用
∙referenceback():
返回尾元素的引用
∙iteratorbegin():
返回向量头指针,指向第一个元素
∙iteratorend():
返回向量尾指针,指向向量最后一个元素的下一个位置
∙reverse_iteratorrbegin():
反向迭代器,指向最后一个元素
∙reverse_iteratorrend():
反向迭代器,指向第一个元素之前的位置
5.判断函数
∙boolempty()const:
判断向量是否为空,若为空,则向量中无元素
6.大小函数
∙intsize()const:
返回向量中元素的个数
∙intcapacity()const:
返回当前向量红所能容纳的最大元素值
∙intmax_size()const:
返回最大可允许的vector元素数量值
7.其他函数
∙voidswap(vector&
交换两个同类型向量的数据
∙voidassign(intn,constT&
设置向量中第n个元素的值为x
∙voidassign(const_iteratorfirst,const_iteratorlast):
向量中[first,last)中元素设置成当前向量元素
示例:
1.初始化示例
#include"
stdafx.h"
#include<
iostream>
vector>
usingnamespacestd;
classA
{
//空类
};
int_tmain(intargc,_TCHAR*argv[])
//int型vector
vector<
int>
vecInt;
//float型vector
float>
vecFloat;
//自定义类型,保存类A的vector
A>
vecA;
//自定义类型,保存指向类A的指针的vector
A*>
vecPointA;
return0;
}
//vectorsample.cpp:
定义控制台应用程序的入口点。
//
//int型vector,包含3个元素
vecIntA(3);
//int型vector,包含3个元素且每个元素都是9
vecIntB(3,9);
//复制vecIntB到vecIntC
vecIntC(vecIntB);
intiArray[]={2,4,6};
//创建vecIntD
vecIntD(iArray,iArray+3);
//打印vectorA,此处也可以用下面注释的代码来输出vector中的数据
/*for(inti=0;
i<
vecIntA.size();
i++)
{
cout<
<
vecIntA[i]<
"
"
;
}*/
cout<
vecIntA:
endl;
for(vector<
:
iteratorit=vecIntA.begin();
it!
=vecIntA.end();
it++)
*it<
}
//打印vecIntB
VecIntB:
iteratorit=vecIntB.begin();
=vecIntB.end();
//打印vecIntC
iteratorit=vecIntC.begin();
=vecIntC.end();
//打印vecIntD
vecIntD:
iteratorit=vecIntD.begin();
=vecIntD.end();
程序的运行结果如下:
上面的代码用了4种方法建立vector并对其初始化
2.增加及获得元素示例:
vecIntA;
//插入123
vecIntA.push_back
(1);
vecIntA.push_back
(2);
vecIntA.push_back(3);
intnSize=vecIntA.size();
//打印vectorA,方法一:
for(inti=0;
nSize;
//打印vectorA,方法二:
vecIntA.at(i)<
//打印vectorA,方法三:
上述代码对一个整形向量类进行操作,先定义一个整形元素向量类,然后插入3个值,并用3种不同的方法输出,程序运行结果如下:
public:
intn;
A(intn)
this->
n=n;
vecClassA;
Aa1
(1);
Aa2
(2);
Aa3(3);
vecClassA.push_back(a1);
vecClassA.push_back(a2);
vecClassA.push_back(a3);
intnSize=vecClassA.size();
vecClassA:
//打印vecClassA,方法一:
vecClassA[i].n<
//打印vecClassA,方法二:
vecClassA.at(i).n<
//打印vecClassA,方法三:
iteratorit=vecClassA.begin();
=vecClassA.end();
(*it).n<
上述代码通过定义元素为类的向量,通过插入3个初始化的类,并通过3种方法输出,运行结果如下:
//int型vect