您的位置:首页 > 其它

Folyd 算法模板

2011-11-06 17:02 155 查看
int dist[Max][Max], path[Max][Max], cost[Max][Max];
void Floyd(int n)
{
int i, j, k;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
dist[i][j] = cost[i][j];
if(i!=j && dist[i][j]<Maxint)
path[i][j] = i;
else
path[i][j] = -1;
}
for (k=1; k<=n; k++)
{
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
if(dist[i][j] > dist[i][k]+dist[k][j])
{
dist[i][j] = dist[i][k] + dist[k][j];
path[i][j] = k;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: