s[top]=v; } }
cout< template int ALGraph int stack[MaxSize]; int top; int yes; int visited3[MaxSize]; for(int k=0;k visited[i]=1;yes=0; stack[++top]=i; while(top!=-1&&yes==0) { i=stack[top]; ArcNode *p; p=adjlist[i].firstedge; while(p&&yes==0) { int t; t=p->adjvex; //cout< else if(visited3[t]==0) { visited3[t]=1; stack[++top]=t; } else p=p->next; } //if(!p) top--; //注意这里的p值代表的是顶点表的firstedge,其始终在,这行代码将使程序陷入是循环,无法得出正确的结果 } return yes; } void main() { int a[5]={1,2,3,4,5}; ALGraph cout<<\邻接表深度非递归算法结果:\A.DFS(0); cout<<\邻接表广度优先算法遍历结果:\A.BFSTraverse(0);cout< cout<<\请输入你要寻找的两个路径的结点:\int m,n; cin>>m>>n; cout<<\if(A.DFS1(m,n)) cout<<\两结点之间存在路径!\else cout<<\两结点之间不存在路径!\ } 5. 运行截图