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;//记录路径 } } } }