#define MAXVEX 9;
#define INFINITY 65535;
typedef int Pathmatirx[MAXVEX][MAXVEX];
typedef int ShortPathTable[MAXVEX][MAXVEX];
void ShortesPath_Floyd(MGraph G, Pathmatirx *P, ShortPathTable *D){
int v, w, k;
for(v=0; v<G.numVertexes; v++){
for (w=0; w<G.numVertexes; w++){
(*D)[v][w] = G.matirx[v][w];
(*P)[v][w] = w;
}
}
for(k=0; k<G.numVertexes; k++){
for (v=0; v<numVertexes; v++){
for (w=0; w<numVertexes; w++){
if ((*D)[v][w] > (*D)[v][k] + (*D)[k][w] ){
(*D)[v][w] = (*D)[v][k] + (*D)[k][w];
(*P)[v][w] = (*P)[v][k];
}
}
}
}
}