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

vector(vector機(jī)器人)

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

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

#includevector;

第一,向量的初始化

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

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

vectorint a(10);

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

couta[i] ;

return 0;

}

vector機(jī)器人

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

試驗(yàn)

#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向量,并分配整個(gè)副本。

測(cè)試:

#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個(gè)(共3個(gè))元素測(cè)試,值為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)個(gè)元素。

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開(kāi)始,一共七個(gè)。

測(cè)試:

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

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

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

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

couta[i] ;

return 0;

}

vector機(jī)器人

其次,vector對(duì)象的幾個(gè)重要操作說(shuō)明如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(14)a . size();//返回中的元素?cái)?shù);

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

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

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

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

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

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

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

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

vector機(jī)器人

三、按順序訪問(wèn)向量的幾種方法,例如,如下:

(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;

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

(2)從向量中讀取元素

1、通過(guò)下標(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、通過(guò)遍歷器方式讀取

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)注。

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

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

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

在線咨詢: QQ交談

郵箱: 3587015498@qq.com

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

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