Floyd算法求的是图的任意两点之间的最短距离
下面是Floyd算法的代码实现模板:
const int INF = 10000000; const int maxv = 200; // maxv为最大顶点数 int n, m; // n 为顶点数,m为边数 int dis[maxv][maxv]; // d[i][j]表示顶点i顶点j的最短距离 void Floyd(){ for (int k = 0; k < n; k++){ for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ if (dis[i][k] != INF && dis[k][j] != INF && dis[i][k] + dis[k][j] < d[i][j]){ dis[i][j] = dis[i][k] + dis[k][j]; // 找到更短的路径 } } } } }