floyd算法

floyd就是算某一地图上所有点之间的路径距离,核心代码11行:

for(int k=1; k!=NODE; ++k){//对于每一个中转点
        for(int i=0; i!=NODE; ++i){//枚举源点
            for(int j=0; j!=NODE; ++j){//枚举终点
                if(distmap[i][j]>distmap[i][k]+distmap[k][j])//不满足三角不等式
                {
                    distmap[i][j]=distmap[i][k]+distmap[k][j];//更新
                    path[i][j]=k;//记录路径
                }
            }
        }
    }

 

posted @ 2018-08-13 15:45  CZD648  阅读(143)  评论(0编辑  收藏  举报
Live2D