2014-12-07 75 views
13

的行大小我有一個這樣的載體:柱尺寸和C++中的2D矢量

vector< vector<int> > myVector; 

所有的行和列數是在該載體中相同。

我想查找此向量的行數和列數。

對於行數我想出了:

myVector[0].size(); 

對於列數,我不能拿出任何東西。你能告訴我,如果我的行數是正確的,你能告訴我如何獲得列數?謝謝。

回答

9

您有一個整數向量向量 myVector[0].size()返回第2個向量中第一個int向量中元素的數量。

這種載體的結構是這樣的:

myVector[ 
    Vector[0, 4, 2, 5], 
    Vector[1, 4, 2] 
]; 

當調用用於myVector [1] .size(),它將返回3和[0]將返回4.

對於在2D向量行(INT載體)的量,可以只使用myVector.size()

您可以運行此看到它在行動

#include <iostream> 
#include <vector> 

int main(){ 
    std::vector<std::vector<int>>MyVector; 
    std::vector<int>temp; 

    temp.push_back(1); 
    temp.push_back(2); 
    temp.push_back(3); 
    MyVector.push_back(temp); 

    std::cout << "Rows in the 2d vector: " << MyVector.size() << 
    std::endl << "Collumns in the 1st row: " << MyVector[0].size() << 
    std::endl; 

    system("pause"); 
    return 0; 
} 
1
for(int i=0;i<v.size();i++){ 
    for(int j=0;j<v[i].size();j++){ 
     cout<<v[i][j]<<" "; 
    } 
    cout<<endl; 
} 

這裏v是一個按列大小變化的二維向量。 對於列大小,您可以簡單地使用v.size(),因爲它給出了總行數,v [i] .size()給出了第i行中的柱總數。以下代碼可用於遍歷變化的二維向量。