C++ 加权有向图
我试图在加权有向图()上实现递归深度优先遍历,但似乎我的输出始终处于关闭状态。如中所示,我获得了对节点的额外访问。这就是我目前正在处理的问题:C++ 加权有向图,c++,graph,directed-graph,C++,Graph,Directed Graph,我试图在加权有向图()上实现递归深度优先遍历,但似乎我的输出始终处于关闭状态。如中所示,我获得了对节点的额外访问。这就是我目前正在处理的问题: 函数的参数是按值传递的;因此您的访问向量不会得到更新。另外,对其他向量使用按引用传递,以便每次递归调用都不会复制向量。函数的参数是按值传递的;因此您的访问向量不会得到更新。此外,使用通过引用传递其他向量,以便每次递归调用都不会复制向量 void Dfs( int u, vector<bool> visited, vector < ch
函数的参数是按值传递的;因此您的
访问向量
不会得到更新。另外,对其他向量使用按引用传递,以便每次递归调用都不会复制向量。函数的参数是按值传递的;因此您的访问向量
不会得到更新。此外,使用通过引用传递其他向量,以便每次递归调用都不会复制向量
void Dfs( int u, vector<bool> visited, vector < char > label, vector < vector < int > > adj)
{
visited[u] = true;
cout << label[u];
for ( int i = 0; i < (signed)visited.size(); i++)
{
if (visited[i] != true && adj[u][i] != 0)
{
cout << "->";
Dfs( i, visited, label, adj);
}
}
}
| A B C D E
--|---------------
A | - - - 6 -
B | - - 8 3 2
C | - 8 - 7 -
D | 6 3 7 - -
E | - 2 - - -