用vector實現二維向量

2021-08-07 10:36:39 字數 1107 閱讀 4713

如果乙個向量的每乙個元素是乙個向量,則稱為二維向量,例如

[cpp]view plain

copy

vectorint

> >vv(3, vector<

int>(4));

//這裡,兩個「>」間的空格是不可少的

將構造乙個二維向量vv,它含有三個元素,每個元素含有4個int型元素的向量。編譯器兩次呼叫vector的建構函式構造物件vv,第一次呼叫建構函式構造了乙個無名的含有4個0的vector物件:

[0][1]

[2][3]00

00第二次呼叫建構函式,以這個無名向量為初值初始化它的三個元素,結果是:

vv[0]

[1][2]

[3][0]00

00[1]000

0[2]00

00vv[i]表示第i(i=0,1,2)行的元素組成的向量。vv.size()的值是3,vv[1].size()的值是4.

乙個二維向量每個元素的長度可以不同,例如

[cpp]view plain

copy

vectorint

> >vv;  

for(

intc = 1; c <= 3; c++)  

vv.push_back(vector

>(c,0));  

上面**產生乙個長度不同的二維向量,第一行只有1個元素,第二行有兩個,第三行三個。

應用例子:輸入乙個n個整數,將他們分別除以選定的乙個整數(稱為模),按餘數將這些整數分組。

[cpp]view plain

copy

#include 

#include 

using

namespace

std;  

void

classify(vector<

int>& v,

intmode, vectorint

> >& vv)  

}  intmain()  

}  return

0;  

}  

執行結果:

用vector實現二維向量

如果乙個向量的每乙個元素是乙個向量,則稱為二維向量,例如 cpp view plain copy vectorint vv 3,vector int 4 這裡,兩個 間的空格是不可少的 將構造乙個二維向量vv,它含有三個元素,每個元素含有4個int型元素的向量。編譯器兩次呼叫vector的建構函式構...

用vector實現二維向量

如果乙個向量的每乙個元素是乙個向量,則稱為二維向量,例如 vector vv 3,vector 4 這裡,兩個 間的空格是不可少的第一次呼叫建構函式構造了乙個無名的含有4個0的vector物件 0 1 2 3 00 00第二次呼叫建構函式,以這個無名向量為初值初始化它的三個元素,結果是 vv 0 1...

二維向量 vector

又學一招!二維向量vector 在vc下的使用技巧。隨著對c 學習的逐步加深,發現stl確實是個好咚咚。vector是我用到的第乙個stl容器,它一直吸引我學習和使用stl。但當我用到二維的vector時 比如 vector 卻發現似乎不能用。我用的vc6就是不認它,竟報 error c2146 s...