7.9.c
来自「数据结构--C语言 数据结构源代码大全 用C语言编写」· C语言 代码 · 共 29 行
C
29 行
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 + =
减小字号Ctrl + -
显示快捷键?