如果乙個向量的每乙個元素是乙個向量,則稱為二維向量,例如
[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...