矢量矢量

时间:2014-02-21 19:32:44

标签: c++ vector

如果我有一个向量矢量,有没有办法找到水平向量的大小?目前,我只想要尺寸4,然后我只想要尺寸为2。

[num1][num2]
[num3][num6]
[num4][num7]
[num5]

ruleList[0][0] = [num1]
ruleList[1][0] = [num2]
ruleList[0][1] = [num3]

for(int j = 0; j < ruleList[j].size(); j++)
{
}

ruleSize [0] .size()打印出4,而ruleList [1] .size()根据上面的示例向量打印出3。我想要的是打印2考虑[num1]和[num2]。如果我要添加另一个元素,那就是:

[num1][num2][num8]
[num3][num6]
[num4][num7]
[num5]

在这种情况下,它应返回3的大小(考虑[num1],[num2]和[num8])

我当前的矢量格式如下:

vector< vector<string> > ruleList(100, vector<string> (0, "0"));

2 个答案:

答案 0 :(得分:1)

您正在以错误的方式填充向量

ruleList[0][0] = [num1]
ruleList[1][0] = [num2]
ruleList[0][1] = [num3]

如果你想要这个:

[num1][num2][num8]
[num3][num6]
[num4][num7]
[num5]

这样做:

 vector< vector<string> > ruleList={{"num1","num2","num8"},
                                      {"num3","num6"},
                                      {"num4","num7"}};

或:

vector< vector<string> > ruleList(3);
ruleList[0]={"num1","num2","num8"};
ruleList[1]={"num3","num6"};
ruleList[2]={"num4","num7"};

现在ruleList[0].size()返回3

答案 1 :(得分:0)

如果ruleList是向量的名称,ruleList.size()应该为您提供“水平”距离。

相关问题