海詩網(wǎng) 知識百科 vector(vector機器人)

vector(vector機器人)

vector, 向量c的用法是什么?不知道小伙伴們今天來看看邊肖的分享吧!Vector是一種向量類型,可以容納很多類型的數(shù)據(jù),比如幾個整數(shù),所以叫容器。

Vector是C STL的重要成員。使用它時,需要包含頭文件:

#includevector;

第一,向量的初始化

(1)向量a(10);//定義10個整數(shù)元素(尖括號中的元素類型名稱,可以是任何合法的數(shù)據(jù)類型)的向量,但不給出初始值,其值不確定。

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

vectorint a(10);

for(int i=0;ia.size();i++)

couta[i] ;

return 0;

}

vector機器人

(2)向量a(10,1);//定義一個10個整數(shù)元素的向量,每個元素的初始值給定為1。

試驗

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

vectorint a(10,1);

for(int i=0;ia.size();i++)

couta[i] ;

return 0;

}

(3)向量a(b);//使用B向量創(chuàng)建A向量,并分配整個副本。

測試:

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

vectorint b(10,3);

vectorint a(b);

for(int i=0;ia.size();i++)

couta[i] ;

return 0;

}

(4)向量a(b.begin(),b . begin 3);//定義了第0到第2個(共3個)元素測試,值為b:

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

vectorint b;

for(int i=0;i10;i++)

b.push_back(i);

向量a(b.begin(),b . begin()3);//用值b定義第0到第2(共3)個元素。

for( i=0;ia.size();i++)

couta[i] ;

return 0;

}

(5)int b[7]={1,2,3,4,5,9,8 };

向量a(b,B7);//從數(shù)組中獲取初始值,從B開始,一共七個。

測試:

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

int b[7]={1,2,3,4,5,6,7};

向量a(b,B7);//從數(shù)組中獲取初始值,從B開始,共7!

for( int i=0;ia.size();i++)

couta[i] ;

return 0;

}

vector機器人

其次,vector對象的幾個重要操作說明如下:

(1)a.assign(b.begin(),b . begin()3);//b是一個向量,由b的0~2個元素組成的向量賦給a。

(2)a .賦值(4,2);//是的,A只包含4個元素,每個元素是2。

a . back();//返回的最后一個元素。

a . front();//返回的第一個元素。

(5)a[I];//當(dāng)且僅當(dāng)a[i]存在時,返回A的第I個元素。

(6)a . clear();//清除中的元素。

(7)a . empty();//判斷A是否為空,為空則返回ture,不為空則返回false。

(8)a . pop _ back();//刪除A向量的最后一個元素

(9)a.erase(a.begin() 1,a . begin()3);//刪除A中的第1個(從0開始計數(shù))到第2個元素,

也就是說,被刪除的元素從a.begin() 1(包括它)開始計數(shù)到a.begin() 3(不包括它)。

(10)a . push _ back(5);//在a的最后一個向量后插入一個值為5的元素。

(11)a.insert(a.begin() 1,5);//在A的第一個元素(從第0個開始計數(shù))的位置插入值5,如A為1,2,3,4,插入元素后為1,5,2,3,4。

(12)a.insert(a.begin() 1,3,5);//在A的第一個元素的位置插入3個數(shù)字(從0開始計數(shù)),它們的值都是5。

(13)a.insert(a.begin() 1,b 3,b 6);//b是一個數(shù)組。在A的第一個元素的位置(從0開始計數(shù))插入B的第三個元素到第五個元素(不包括b 6)。

比如B是1,2,3,4,5,9,8,插入元素后是1,4,5,9,2,3,4,5,9,8。

(14)a . size();//返回中的元素數(shù);

(15)a . capacity();//返回內(nèi)存中可以容納的元素總數(shù)。

(16)a . resize(10);//將A的現(xiàn)有元素數(shù)調(diào)整為10,如果刪除的元素多,如果添加的元素少,則值是隨機的。

(17)a.resize(10,2);//將A的現(xiàn)有元素數(shù)調(diào)整為10,如果刪除的元素多,如果添加的元素少,則值為2。

(18)a .儲備(100);//將A的容量擴展到100,

也就是說現(xiàn)在測試a . capacity();返回值是100。這個操作只有在你需要給A添加大量數(shù)據(jù)的時候才有意義,因為這樣會避免內(nèi)存的多次擴容操作(當(dāng)A的容量不足時,電腦會自動擴容,

當(dāng)然,這必然會降低性能)

(19)a .互換(b);//b是一個向量,A和B中的元素整體交換。

(20)a==b;//b是向量,向量的比較運算還是可以的!=,=,=,

vector機器人

三、按順序訪問向量的幾種方法,例如,如下:

(1)向向量a添加元素

1、利用push_back()

vectorint a;

for(int i=0;i10;i++)

a.push_back(i);

2、也可以從數(shù)組中選擇元素向向量中添加

int a[6]={1,2,3,4,5,6};

vectorint b;

for(int i=1;i=4;i++)

b.push_back(a[i]);

3、也可以從現(xiàn)有向量中選擇元素向向量中添加

int a[6]={1,2,3,4,5,6};

vectorint b;

vectorint c(a,a+4);

for(vectorint:iterator it=c.begin();itc.end();it++)

b.push_back(*it);

4、也可以從文件中讀取元素向向量中添加

ifstream in(data.txt);

vectorint a;

for(int i; ini)

a.push_back(i);

5、【誤區(qū)】

vectorint a;

for(int i=0;i10;i++)

a[i]=i;

//這種做法以及類似的做法都是錯誤的。剛開始我也犯過這種錯誤,后來發(fā)現(xiàn),下標(biāo)只能用于獲取已存在的元素,而現(xiàn)在的a[i]還是空的對象

(2)從向量中讀取元素

1、通過下標(biāo)方式讀取

int a[6]={1,2,3,4,5,6};

vectorint b(a,a+4);

for(int i=0;i=b.size()-1;i++)

coutb[i] ;

2、通過遍歷器方式讀取

int a[6]={1,2,3,4,5,6};

vectorint b(a,a+4);

for(vectorint:iterator it=b.begin();it!=b.end();it++)

cout*it ;

vector,以上就是本文為您收集整理的vector最新內(nèi)容,希望能幫到您!更多相關(guān)內(nèi)容歡迎關(guān)注。

本文來自網(wǎng)絡(luò),不代表海詩網(wǎng)立場,轉(zhuǎn)載請注明出處:http://x91880.com/n/168009.html
      

微信電子身份證是怎么辦理(如何在微信領(lǐng)取電子身份證)

發(fā)表回復(fù)
聯(lián)系我們
聯(lián)系我們

在線咨詢: QQ交談

郵箱: 3587015498@qq.com

工作時間:周一至周五,9:00-17:30,節(jié)假日休息

關(guān)注微信
微信掃一掃關(guān)注我們
微信掃一掃關(guān)注我們
關(guān)注微博
返回頂部