[求助]dfs的一个实现][已自行解决]
#include <stdio.h>#include <conio.h>
int a[10][10]={{0,1,1,0,0,0,0,0},{1,0,0,1,1,0,0,0},{1,0,0,0,0,1,1,0},{0,1,0,0,0,0,0,1},{0,1,0,0,0,0,0,1},{0,0,1,0,0,0,0,0},{0,0,1,0,0,0,0,0},{0,0,0,1,1,0,0,0}};
int visit[10];
int i,n=7,j;
main()
{for(i=0;i<=n;i++)
visit[i]=0;/*初始化*/
for(i=0;i<=n;i++)
if(visit[i]==0)
dfs(j);此处有误
应为dfs(i);
眼神不好啊...
getch();
}
dfs(int i)
{
printf("%d ",i+1);
visit[i]=1;/*置访问标志*/
for(j=0;j<=n;j++)
if(visit[j]==0&&a[i][j]==1)/*若未访问过且可以访问*/
dfs(j);
}
话说只能输出一部分
请高手解答一下
辛苦了~
[[it] 本帖最后由 子洋虾米 于 2008-10-26 11:27 编辑 [/it]]