📄 7.9.c
字号:
int pre[];
void one_path(Graph *G, int u, int v)
/*在连通图G中找一条从第u个顶点到v个顶点的简单路径*/
{
int i;
pre=(int *)malloc(G->vexnum*sizeof(int));
for(i=0;i<G->vexnum;i++)
pre[i]=-1;
pre[u]=u; /*将pre[u]置为非-1,表示第u个顶点已被访问*/
DFS_path(G, u, v); /*用深度优先搜索找一条从u到v的简单路径。*/
free(pre);
}
Void DFS_path(Graph *G, int u, int v)
/*在连通图G中用深度优先搜索策略找一条从u到v的简单路径。*/
{
int j;
if(pre[v]!=-1)
for(j=firstadj(G,u);j>=0;j=nextadj(G,u,j))
if(pre[j]==-1)
{
pre[j]=u;
if(j==v)
print_path(pre ,v); /*输出路径*/
else
DFS_path(G,j,v);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -