我为直接图编写了 DFS 方法并检查是否存在循环。我的大部分代码都来自我的课堂笔记和教科书。问题是它说存在循环时没有循环。我做了一些更改,但代码甚至没有运行。我会很感激你的帮助。这是我检查周期的代码
char check;
char vertex;
int exit=0;
cout<<"Checking to see if there is a DFS cycle";
j=0;
for(i=0;i<columns;i++)
{
vertex=matrix[i][j];
j++;
if(matrix[i][j]!='0')
{
check=matrix[i][j];
j=0;
i=0;
int count=1;
while(exit<rows)
{
if(check==matrix[i][j])
j++;
else
i++;
if(vertex==matrix[i][j]&&count>1)
{
cout<<"This graph has a DFS cycle!";
break;
}
if(vertex!=matrix[i][j]&&check!=matrix[i][j])
{
check=matrix[i][j];
j=0;
i=0;
cout << "This graph has no DFS cycle!";
break;
}
exit++;
}
j=0;
}
else
j=0;
}
system("PAUSE");
return 0;
}