Floyd算法(针对河大版教材错误修改)
教材上Floyd算法最后打印出来的结果有点小问题 一开始着重于路径 path数组进行调整,先是调用n次Dijkstra算法 得到路径path 然后尝试调整Floyd算法中path数组。 浏览了网上其他的Floyd算法后,觉得问题不是在path数组上,而是在路径打印问题上,然后对路径打印做了些调整。 因本人能力有限,调整后的程序 也可能会有些许问题,恳请读者批评指正。 测试图 与数据 详见课本 # include <stdio.h> # include <stdlib.h> # define MaxVerNum 10 # define Infinity 1000 typedef struct { char vertex [ MaxVerNum ] ; int edges [ MaxVerNum ] [ MaxVerNum ] ; int vertex_num ; int edge_num ; } MGraph ; void Create_MG ( MGraph * G ) { int i , j , k , weight ; printf ( "Please input the vertex_num and edge_num\n" ) ; scanf ( "%d %d" , & ( G -> vertex_num ) , & ( G -> edge_num ) ) ; for ( i