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