void ShorttestPath_FloydMgraph GPatharc &PShortPathTable &D int vwuop; char city1Ncity2N; int abki; forv=0;vGnumVertexes;++v forw=0;wGnumVertexes;++w Dvw=Garcvw; Pvw=w; foru=0;uGnumVertexes;++
这段代码实现了使用Floyd算法求解最短路径的函数。函数的输入参数是一个图G和两个二维数组P和D,其中P用来存储最短路径上的顶点信息,D用来存储最短路径的权值信息。函数的输出是打印出最短路径的相关信息。
具体实现过程如下:
-
首先使用两个嵌套的for循环初始化数组P和D,使得P[i][j] = j,D[i][j] = G.arc[i][j],即将G的邻接矩阵的值赋给D,将j赋给P。