时间复杂度:O(V的3次方)【V为顶点数】
存储方法:本例采用的是邻接矩阵存储方法
代码如下:
void Floyd() {
for (int i = 0; i < vertex; i++) {
dis[i][i] = 0;//顶点i到i的距离初始化为0
}
for (int k = 0; k < vertex; k++) {
for (int u = 0; u < vertex; u++) {
for (int v = 0; v < vertex; v++) {
if (dis[u][k] != INF && dis[k][v] != INF && dis[u][k]+dis[k][v]<dis[u][v]) {
dis[u][v] = dis[u][k] + dis[k][v];//找到更短的路径
}
}
}
}
}