資源描述:
《vector容器用法詳解.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、vector容器用法詳解?vector類稱作向量類,它實現(xiàn)了動態(tài)數(shù)組,用于元素數(shù)量變化的對象數(shù)組。像數(shù)組一樣,vector類也用從0開始的下標(biāo)表示元素的位置;但和數(shù)組不同的是,當(dāng)vector對象創(chuàng)建后,數(shù)組的元素個數(shù)會隨著vector對象元素個數(shù)的增大和縮小而自動變化。??vector類常用的函數(shù)如下所示:??1.構(gòu)造函數(shù)·vector():創(chuàng)建一個空vector·vector(intnSize):創(chuàng)建一個vector,元素個數(shù)為nSize·vector(intnSize,constt&t):創(chuàng)建一個vector,元素個數(shù)為n
2、Size,且值均為t·vector(constvector&):復(fù)制構(gòu)造函數(shù)·vector(begin,end):復(fù)制[begin,end)區(qū)間內(nèi)另一個數(shù)組的元素到vector中??2.增加函數(shù)·voidpush_back(constT&x):向量尾部增加一個元素X·iteratorinsert(iteratorit,constT&x):向量中迭代器指向元素前增加一個元素x·iteratorinsert(iteratorit,intn,constT&x):向量中迭代器指向元素前增加n個相同的元素x·iteratorinsert
3、(iteratorit,const_iteratorfirst,const_iteratorlast):向量中迭代器指向元素前插入另一個相同類型向量的[first,last)間的數(shù)據(jù)??3.刪除函數(shù)·iteratorerase(iteratorit):刪除向量中迭代器指向元素·iteratorerase(iteratorfirst,iteratorlast):刪除向量中[first,last)中元素·voidpop_back():刪除向量中最后一個元素·voidclear():清空向量中所有元素?4.遍歷函數(shù)·referenc
4、eat(intpos):返回pos位置元素的引用·referencefront():返回首元素的引用·referenceback():返回尾元素的引用·iteratorbegin():返回向量頭指針,指向第一個元素·iteratorend():返回向量尾指針,指向向量最后一個元素的下一個位置·reverse_iteratorrbegin():反向迭代器,指向最后一個元素·reverse_iteratorrend():反向迭代器,指向第一個元素之前的位置?5.判斷函數(shù)·boolempty()const:判斷向量是否為空,若為空,
5、則向量中無元素?6.大小函數(shù)·intsize()const:返回向量中元素的個數(shù)·intcapacity()const:返回當(dāng)前向量張紅所能容納的最大元素值·intmax_size()const:返回最大可允許的vector元素數(shù)量值?7.其他函數(shù)·voidswap(vector&):交換兩個同類型向量的數(shù)據(jù)·voidassign(intn,constT&x):設(shè)置向量中第n個元素的值為x·voidassign(const_iteratorfirst,const_iteratorlast):向量中[first,last)中元素
6、設(shè)置成當(dāng)前向量元素示例:?1.初始化示例#include"stdafx.h"#include#includeusingnamespacestd;classA{//空類};int_tmain(intargc,_TCHAR*argv[]){//int型vectorvectorvecInt;//float型vectorvectorvecFloat;//自定義類型,保存類A的vectorvectorvecA;//自定義類型,保存指向類A的指針的vectorvector<
7、A*>vecPointA;return0;}//vectorsample.cpp:定義控制臺應(yīng)用程序的入口點。//#include"stdafx.h"#include#includeusingnamespacestd;classA{//空類};int_tmain(intargc,_TCHAR*argv[]){//int型vector,包含3個元素vectorvecIntA(3);//int型vector,包含3個元素且每個元素都是9vectorvecIntB(3,9);/
8、/復(fù)制vecIntB到vecIntCvectorvecIntC(vecIntB);intiArray[]={2,4,6};//創(chuàng)建vecIntDvectorvecIntD(iArray,iArray+3);//打印vectorA,此處也可以用下面注釋內(nèi)的代