该算法实现的主要思路是声明一个路径矩阵和一个距离矩阵,利用动态规划的思想,依次将所有顶点作为中转顶点进行遍历,计算出当前路径距离与上一次的结果进行比较,如果当前路径的距离更小则更新两个矩阵。最后只需要访问矩阵便可以得到结果。
具体代码实现:
#include<iostream>
using namespace std;
#define INF 10000 //定义无穷大
#define size 1001 //最大数据规模
int path[size][size];//存路劲
int dis[size][size]; //存距离
void init()//数组初始化函数 ,这是算法的必要前提
{
for(int i=0;i<size;i++)
for(int j=0;j<size;j++)
{
path[i][j]=-1;//初始化路径为-1
if