typedef int Pathmatirx[MAXVEX][MAXVEX];//v到w最短路径P[v][w]
typedef int ShortPthTable[MAXVEX][MAXVEX];//v到w带权长度
void ShortestPath_Floyd(MGraph G, Pathmatirx *P, ShortPthTable *S) {
int v, w, k;
for (v = 0; v < G.numVertexes; v++) {
for (w = 0; w < G.numVertexes; w++) {
(*S)[v][w] = G.arc[v][w];
(*P)[v][w] = w;
}
}
for (k = 0; k < G.numVertexes; k++) {
for (v = 0; v < G.numVertexes; v++) {
for (w = 0; w < G.numVertexes; v++) {
if ((*S)[v][w]>(*S)[v][k] + (*S)[k][w]) {
(*S)[v][w] = (*S)[v][k] + (*S)[k][w];
(*P)[v][w] = (*P)[v][k];
}
}
}
}
}
图——Floyd算法
最新推荐文章于 2022-03-27 19:52:56 发布