我试图从不同的来源实现强连接的算法。我找到一个让我感到困惑的是http://www.oneous.com/Tutorial-Content.php?id=18
我混淆的原因是这一行:
if (used[v[s][i]] == 0)
DFS(v[s][i]);
我们已将v
声明为一维向量,但此处将其用作二维向量。我认为这是一个错误,但无法弄清楚如何解决它。请帮我解决这个问题。
答案 0 :(得分:3)
v
声明为:
vector<int> v[1005];
即。一组向量。所以第一个索引访问数组,第二个索引访问向量。
答案 1 :(得分:1)
v
是一组向量。因此,v[1]
位置为vector<int>
,v[1][2]
位于vector<int>
位置2的整数。
Vector类允许这样做,因为它会覆盖[]
运算符