图的深度优先遍历c语言算法

在网上搜了好几个星期拉,没有正确运行的答案,望有高手提供调试好的算法,不胜感激.

第1个回答  2007-07-02
#include <stdio.h>

int m,n;
bool w[100][100],visited[100];

void dfs(int i){
visited[i] = true;
printf("%d ",i);
for(int j = 0;j<n;j++)
if(w[i][j] && !visited[j])
dfs(j);
}

int main(){
scanf("%d%d",&m,&n);
int a,b;
for(int i = 0;i<m;i++){
scanf("%d%d,&a,&b);
w[a][b] = w[b][a] = true;
}
for(int i = 0;i<n;i++)
if(!visited[i])
dfs(i);
return 0;
}本回答被提问者采纳