向量的向量

Vector of Vectors

本文关键字:向量      更新时间:2023-10-16

如果我有一个向量向量,有没有办法找到向量水平方向的大小?目前,当我只想要 3 码时,我只得到 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。我想要的是打印出考虑到 [num1] 和 [num2] 的 2。如果我要添加另一个元素,它将是:

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

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

我当前的矢量格式如下:

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

你以错误的方式填充了向量

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

如果 ruleList 是向量的名称,ruleList.size()应该给你"水平"距离。