(急)试写出程序判别以邻接表方式存储的有向图G中是否存在由顶点vi到顶点vj的路径(i≠j)。

来源:百度知道 编辑:UC知道 时间:2024/09/26 14:07:03
算法如下:
int visited[MAXSIZE]; //指示顶点是否在当前路径上
int exist_path_DFS(ALGraph G,int i,int j)//深度优先判断有向图G中顶点i到顶点j是否有路径,是则返回1,否则返回0
{
if(i==j) return 1; //i就是j
else
{
visited[i]=1;
for(p=G.vertices[i].firstarc;p;p=p->nextarc)
{
k=p->adjvex;
if(!visited[k]&&exist_path(k,j)) return 1;//i下游的顶点到j有路径
}//for
}//else
}//exist_path_DFS

void find(int A[][],int m,int n)//求矩阵A中的马鞍点
{
int i,j,min,flag;
for(i=0;i<m;i++)
{
for(min=A[i][0],j=0;j<n;j++)
if(A[i][j]<min) min=A[i][j]; //求一行中的最小值
for(j=0;j<n;j++)
if(A[i][j]==min) //判断最小值是否是马鞍点
{
for(flag=1,k=0;k<m;k++)
if(min<A[k][j]) flag=0;
if(flag)
printf("%d",A[i][j]);
}
}
}

void Merge(LinkList &A,LinkList &B,LinkList &C) //假设是递增序列
{
Lin

tyrt6uyiuyjkhjkyuujhkuftywemcnwqwnhecvsyhgynsvsehvysdnfxdnvhbmndhnfdhuuvbvhdfbvhjbvn dfjbgvhadlfbgkjazsnzjd1fn4ghmj68d1fm4f2h4gj4m981xd4m194g9h16gv54h56g4mh141jk87gj1,8+05x684e684mnszwe5918 a687h2uh61li81,7u8j9fg741n987es9gv7498q71gv98w

难啊