2014-12-07 77 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行中的柱总数。以下代码可用于遍历变化的二维向量。