我需要使用Boost库来获取从一个点到另一个点的最短路径。我查看了示例代码,它很容易遵循。但是,该示例仅显示如何获得总距离。我想弄清楚如何遍历前导映射到得到最短的路径,我似乎无法弄清楚。我读过关于这个问题的两个问题:Boost dijkstra shortest_path - 你如何获得最短路径而不仅仅是距离?
Dijkstra Shortest Path with VertexList = ListS in boost graph
Boost:: Dijkstra Shortest Path, how to get vertice index from path iterator?
但在这两个所提供的例子中,IndexMap的typedef似乎并没有与Visual Studio编译器,坦率地说工作,Boost typedefs对我来说有点令人困惑,而且我在计算所有这些时遇到了一些麻烦。基于这里的Boost示例代码,有谁能告诉我如何才能从中获得路径吗?我会非常感谢。
http://www.boost.org/doc/libs/1_46_1/libs/graph/example/dijkstra-example.cpp
注 - 我认为你必须添加path.push_back(current);在你进入最后的path.push_back(start)之前; - 当我使用它时,它会在最后一个之前忘记节点。 – Darkenor
@Darkenor对不起,我相信它现在可以正常工作。 – 2012-10-01 18:41:42
Thx为有用的片段!是否很难修改此代码以显示细分的单独距离? – kfmfe04