Floyd-Warshall算法用于求任意两点间的最短路问题
1 #define MAX_V 100 2 3 int d[MAX_V][MAX_V]; //d[u][v]表示边e=(u,v)的权值(不存在时设为INF,不过d[i][i]=0) 4 int V; //顶点数 5 6 int Min(int a,int b) 7 { 8 return a<b?a:b; 9 } 10 11 void floyd_warshall() 12 { 13 for(int k=0;k<V;k++) 14 for(int i=0;i<V;i++) 15 for(int j=0;j<V;j++) 16 d[i][j]=Min(d[i][j],d[i][k]+d[k][j]); 17 }