文档介绍:数据结构算法专题实验实验题目:实验题目:w顶点路径内容:利用邻接链表和深度遍历判断两点间是否存在路径?程序:#include"iostream"using namespace std;#include<>#defineM 100 //M表示邻接表中可存顶点的最大数目typedef char VexType;typedef int AdjType;int Visited[M]; //判断一个结点是否被访问typedef struct edge //链式存储边信息{ int AdjVertex; struct edge *nextedge;//指向下一个边结点的链域}EdgeNode;typedef struct //顺序存储节点信息{ VexType Vertex; EdgeNode *FirstEdge; //指向第一条边}VexNode; typedef VexNode adjlist[M];结构体定义主函数主函数int main(int argc, charint main(int argc, char** argv[]) argv[]){ { adjlist Graph; adjlist Graph;char vi,vj;char vi,vj;int i;int i;int n1,n2;int n1,n2; int N,E; int N,E;cout<<"cout<<"输入顶点数目:输入顶点数目:";";cin>>N;cin>>N;cout<<"cout<<"输入边数目:输入边数目:";";cin>>E;cin>>E;creatAdjlist(Graph,N,E);creatAdjlist(Graph,N,E);display(Graph,N);display(Graph,N);cout<<"cout<<"输入顶点输入顶点vi:";vi:";cin>>vi;cin>>vi;cout<<"cout<<"输入顶点输入顶点vj:";vj:";cin>>vj;cin>>vj;for( i=1;i<=N;i++)for( i=1;i<=N;i++)if(Graph[i].Vertex==vi){if(Graph[i].Vertex==vi){ n1=i; n1=i; break; break;}}for(i=1;i<=N;i++)for(i=1;i<=N;i++)if(Graph[i].Vertex==vj){if(Graph[i].Vertex==vj){ n2=i; n2=i; break; break;}}DFS(Graph,n1,n2);DFS(Graph,n1,n2); return 0; return 0;}}////程序结果程序结果创建邻接链表函数创建邻接链表函数创建邻接链表函数void creatAdjlist(adjlist Graph,int N,int E)void creatAdjlist(adjlist Graph,int N,int E){{ int i,j,k; int i,j,k; EdgeNode EdgeNode **s;s; char ch; char ch; cout<< cout<<““输入顶点信息