Ich brauche die Boost-Bibliothek, um den kürzesten Pfad von einem Punkt zum anderen zu erhalten. Ich habe mir den Beispielcode angesehen und es ist anständig, einfach zu folgen. Das Beispiel zeigt jedoch nur, wie die Gesamtentfernungen erhalten werden. Ich versuche herauszufinden, wie ich über die Vorgänger-Map iterieren kann, um tatsächlich get den kürzesten Pfad zu bekommen, und ich kann es nicht herausfinden. Ich habe diese zwei Fragen zu dem Thema gelesen:
Dijkstra Kürzester Pfad mit VertexList = ListS im Boost-Diagramm
Boost :: Dijkstra Shortest Pfad, wie erhält man den Vertex-Index vom Pfad-Iterator?
Aber in beiden Beispielen scheint der IndexMap typedef nicht mit dem Visual Studio-Compiler zu funktionieren, und offen gesagt, Boost typedefs sind ein wenig verwirrend für mich und ich habe einige Schwierigkeiten, das alles herauszufinden. Könnte mir irgendjemand auf der Grundlage des Boost-Beispielcodes hier sagen, wie ich den Weg dorthin finden kann? Ich wäre sehr dankbar.
Wenn Sie nur den Pfad von der Vorgängerkarte erhalten möchten, können Sie das so machen.
%Vor%Dies ist der Code von llonesmiz , der leicht modifiziert wurde, um die Zwischensegmente, die von A zu den anderen Knoten gehen, zusammen mit den Segmentabständen anzuzeigen :
AUSGABE
%Vor%CODE
%Vor%Tags und Links c++ boost graph boost-graph