资源描述:
《vector容器用法详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、vector容器用法详解 vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组。像数组一样,vector类也用从0开始的下标表示元素的位置;但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化。 vector类常用的函数如下所示: 1.构造函数·vector():创建一个空vector·vector(intnSize):创建一个vector,元素个数为nSize·vector(intnSize,constt&t):创建一个vector,元
2、素个数为nSize,且值均为t·vector(constvector&):复制构造函数·vector(begin,end):复制[begin,end)区间内另一个数组的元素到vector中 2.增加函数·voidpush_back(constT&x):向量尾部增加一个元素X·iteratorinsert(iteratorit,constT&x):向量中迭代器指向元素前增加一个元素x·iteratorinsert(iteratorit,intn,constT&x):向量中迭代器指向元素前增加n个相同的元素x·iter
3、atorinsert(iteratorit,const_iteratorfirst,const_iteratorlast):向量中迭代器指向元素前插入另一个相同类型向量的[first,last)间的数据 3.删除函数·iteratorerase(iteratorit):删除向量中迭代器指向元素·iteratorerase(iteratorfirst,iteratorlast):删除向量中[first,last)中元素·voidpop_back():删除向量中最后一个元素·voidclear():清空向量中所有元素
4、4.遍历函数·referenceat(intpos):返回pos位置元素的引用·referencefront():返回首元素的引用·referenceback():返回尾元素的引用·iteratorbegin():返回向量头指针,指向第一个元素·iteratorend():返回向量尾指针,指向向量最后一个元素的下一个位置·reverse_iteratorrbegin():反向迭代器,指向最后一个元素·reverse_iteratorrend():反向迭代器,指向第一个元素之前的位置 5.判断函数·boolempty(
5、)const:判断向量是否为空,若为空,则向量中无元素 6.大小函数·intsize()const:返回向量中元素的个数·intcapacity()const:返回当前向量张红所能容纳的最大元素值·intmax_size()const:返回最大可允许的vector元素数量值 7.其他函数·voidswap(vector&):交换两个同类型向量的数据·voidassign(intn,constT&x):设置向量中第n个元素的值为x·voidassign(const_iteratorfirst,const_iterato
6、rlast):向量中[first,last)中元素设置成当前向量元素示例: 1.初始化示例#include"stdafx.h"#include#includeusingnamespacestd;classA{//空类};int_tmain(intargc,_TCHAR*argv[]){//int型vectorvectorvecInt;//float型vectorvectorvecFloat;//自定义类型,保存类A的vectorvectorvecA;/
7、/自定义类型,保存指向类A的指针的vectorvectorvecPointA;return0;}//vectorsample.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include#includeusingnamespacestd;classA{//空类};int_tmain(intargc,_TCHAR*argv[]){//int型vector,包含3个元素vectorvecIntA(3);//int型vector,包含3个
8、元素且每个元素都是9vectorvecIntB(3,9);//复制vecIntB到vecIntCvectorvecIntC(vecIntB);intiArray[]={2,4,6};//创建vecIntDvectorvecIntD(iArray,iArray+3);//打印vectorA,此处也可以用下面注释内的代