J'ai besoin d'utiliser la bibliothèque Boost pour obtenir le chemin le plus court d'un point à un autre. J'ai examiné l'exemple de code et il est décemment facile à suivre. Cependant, l'exemple montre seulement comment obtenir les distances globales. J'essaie de comprendre comment itérer sur la carte prédécesseur pour obtenir effectivement le plus court chemin et je ne peux pas sembler comprendre. J'ai lu ces deux questions sur le sujet:Boost dijkstra shortest_path - comment obtenir le chemin le plus court et pas seulement la distance?
Dijkstra Shortest Path with VertexList = ListS in boost graph
Boost:: Dijkstra Shortest Path, how to get vertice index from path iterator?
Mais dans les deux exemples fournis, le typedef indexmap ne semble pas fonctionner avec le compilateur Visual Studio et, franchement , Boost typedefs sont un peu confus pour moi et j'ai du mal à comprendre tout cela. Basé sur le code d'exemple Boost ici, quelqu'un pourrait-il me dire comment je peux juste en sortir le chemin? Je serais très reconnaissant.
http://www.boost.org/doc/libs/1_46_1/libs/graph/example/dijkstra-example.cpp
Remarque - Je pense que vous devez ajouter path.push_back (current); juste avant le dernier chemin.push_back (début); - quand je l'ai utilisé, il a gardé l'oubli du nœud avant le dernier. – Darkenor
@Darkenor Désolé à ce sujet, je crois que cela fonctionne maintenant correctement. –
Thx pour l'extrait de code utile Serait-il difficile de modifier ce code pour afficher les distances individuelles pour les segments? – kfmfe04