我创建了这个算法来获得地图上两个选定点之间的最短点。
首先,我用距离、重量完全填充了矩阵。我命名它,例如:dist[0,1] 指的是点 0 和点 1 之间的道路。每个点都有一个分配给它的数字。
矩阵都相应地填充,然后 Fjord Warshall 算法运行:
for (int k = 0; k < count; ++k)
{
for (int i = 0; i < count; ++i)
{
for (int j = 0; j < count; ++j)
{
if (dist[i,j] > (dist[i,k]+dist[k,j]))
{
dist[i, j] = dist[i, k] + dist[k, j];
}
}
}
}
这得出了每条路径之间的最短点。然后我检查我拥有的路径以获得它的最短点:
shortest = dist[x, y];
哪个返回正确的值,一切正常。这是我的问题。我需要将其设置为查看它通过哪些点。我的意思是,如果我想从点 1 到点 5,并且最短的路线是通过 3 和 6,它将显示 1、3、6、5。
有任何想法吗?完全卡在了这个上。