日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

uda 3.C++二维向量

發(fā)布時(shí)間:2024/9/21 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 uda 3.C++二维向量 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

二維向量

接下來(lái),你將使用向量來(lái)存儲(chǔ)矩陣。就像 Python 使用列表列表來(lái)存儲(chǔ)矩陣一樣,C++ 使用的是向量的向量。用于聲明二維向量的語(yǔ)法有點(diǎn)復(fù)雜。

假設(shè)你正在使用 Python,并且想存儲(chǔ)一個(gè) 3 乘 5 的矩陣。你可以這么寫(xiě):

matrixexample = [[2,1,5], [7,9,2], [16,5,9], [5,2,1], [1,2,4]]

在 C++ 中,你可以將矢量附加到矢量來(lái)創(chuàng)建一個(gè)類(lèi)似的結(jié)構(gòu)。下面是 Python 和 C++ 代碼的比較。我們來(lái)看看:

代碼解釋

首先,這一行

vector < vector <int> > twodvector;

聲明了一個(gè)叫做 twodvector 的空二維向量。有幾件事要注意:

  • 就像 C++ 中的所有變量一樣,你必須聲明向量中將使用哪種類(lèi)型的值。在本例中,twodvector 變量將使用整數(shù)。
  • 注意括號(hào)之間的空格?< vector <int> >。如果空格不正確,程序可能無(wú)法運(yùn)行。

然后,聲明一個(gè)叫做 singlerow 的一維向量。singlerow 向量的形式為 [2, 2, 2]。

vector<int> singlerow (3,2);

然后 singlerow 向量被追加到 twodvector 五次:

for (int i = 0; i < 5; i++) {twodvector.push_back(singlerow);}

最終將得到與 Python 代碼中一樣的二維結(jié)構(gòu)。運(yùn)行這段 C++代碼后,終端會(huì)輸出如下結(jié)果:

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

另一種設(shè)置向量的方法

以下是前面的例子中設(shè)置向量的另一種方法:

vector < vector <int> > twodvector (5, vector <int> (3, 2));

語(yǔ)法要稍微復(fù)雜一點(diǎn)。但是,如果從括號(hào)內(nèi)往外看,你會(huì)發(fā)現(xiàn)它實(shí)際上已經(jīng)具備所有功能。

這一行:

vector <int> (3, 2)

可以設(shè)置一個(gè)整數(shù)向量,如 [2, 2, 2]。所以,即使你看不到內(nèi)部的向量,代碼的功能依然是這樣的:

vector < vector <int> > twodvector (5, [2, 2, 2]); `

然后,代碼將[2, 2, 2] 五次應(yīng)用到 twodvector 變量中:

[[2,2,2], [2,2,2], [2,2,2], [2,2,2], [2,2,2]]

請(qǐng)記住,只有 Python 才會(huì)用方括號(hào)[]表示向量或矩陣。較新版本的 C++可以使用大括號(hào)來(lái)表示矢量{},但 C++ 的較早版本沒(méi)有對(duì)應(yīng)的表示形式。

像下面這樣的代碼無(wú)法在 C++ 中運(yùn)行:

vector < vector <int> > twodvector (5, [2, 2, 2]); `

二維向量與 for 循環(huán)

由于二維向量只是向量?jī)?nèi)的向量,因此,二維向量和一維向量具有相同的方法?。

這就是例子中 cout 代碼的作用原理:

for (int row = 0; row < twodvector.size(); row++) {for (int column = 0; column < twodvector[0].size(); column++) { cout << twodvector[row][column] << " "; } cout << endl;

輸入twodvector.size()時(shí),會(huì)給出外部向量的大小。外部向量有五個(gè)元素,它們表示矩陣中的行數(shù):

{2 2 2} {2 2 2} {2 2 2} {2 2 2} {2 2 2}

當(dāng)你輸入twodvector[0].size()時(shí),你實(shí)際上是在獲取外部向量的第一個(gè)元素,[2 2 2],并請(qǐng)求這個(gè)向量的大小,在本例中,大小為 3。因此,for 循環(huán)實(shí)際如下:

for (int row = 0; row < 5; row++) {for (int column = 0; column < 3; column++) { cout << twodvector[row][column] << " "; } cout << endl;

轉(zhuǎn)載于:https://www.cnblogs.com/fuhang/p/9077624.html

總結(jié)

以上是生活随笔為你收集整理的uda 3.C++二维向量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。