注意图会出现环的情况,例如下面这组数据:
4 4 1 4 4 2 2 3 3 1
如果你的程序输出
4 3 3 4
那么先把判断是否访问的数组删掉
然后你的程序就会输出
4 3 4 4
还是因为环有时会回到一个已访问并初始化但未更新的节点
dfs100次
例如:
for(int j=1;j<=100;j++){ for(int i=1;i<=n;i++){ dfs(i); } }
然后应该就好了