ALGraph G;
char way[G.vexnum];
way[0] = G.vertices[u].data;
Status Findway_on_DG(ALGraph G,int u,int v,int found){
//在以邻接表存储的有向图G中输出从编号为u的顶点到编号为v的顶点的所有简单路径
//前found个顶点是已经确定的顶点,初始调用Findway_on_DG(G,u,v,1)
if(u == v){//找到一条简单路径
for(i = 0;i < found;i++) cout << way[i];
cout << endl;
return OK;
}//if
for(p = G.vertices[u].firstarc;p;p = p->nextarc){
if(!In_the_way(G.vertices[p->agjvex].data)){//保证简单路径
way[found] = G.vertices[p->agjvex].data;
Findway_on_DG(G,p->adjvex,v,found + 1);
}//if
}//for
return OK;
}//Findway_on_DG
求有向图两点间所有简单路径
最新推荐文章于 2024-05-05 15:22:58 发布