原文衔接:http://blog.csdn.net/u013354805/article/details/51062528
1. 方法:
2. Floyd算法:
- void Floyd()
- {
- for(i = 0; i < N; i++)
- {
- for(j = 0; j <N; j++)
- {
- D[i][j] = G[i][j];
- path[i][j] = -1;
- }
- }
- for(k = 0; i < N; k++)
- {
- for(i = 0; i < N; i++)
- {
- for(j = 0; j <N; j++)
- {
- if(D[i][j] +D[k][j] < D[i][j])
- {
- D[i][j] = D[i][k] +D[k][j];
- path[i][j] = k;
- }
- }
- }
- }
- }