(急)试写出程序判别以邻接表方式存储的有向图G中是否存在由顶点vi到顶点vj的路径(i≠j).
(急)试写出程序判别以邻接表方式存储的有向图G中是否存在由顶点vi到顶点vj的路径(i≠j).
算法如下:
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;inext;
}
else
{
r->next=q;
r=r->next;
q=q->next;
}
}
r->next=(p!=NULL?p:q);
free(B);
}