Tôi cần sử dụng thư viện Tăng để có đường đi ngắn nhất từ điểm này đến điểm khác. Tôi đã xem xét mã ví dụ và nó rất dễ làm theo. Tuy nhiên, ví dụ chỉ cho thấy làm thế nào để có được khoảng cách tổng thể. Tôi đang cố gắng tìm hiểu cách lặp lại bản đồ người tiền nhiệm để thực sự nhận được con đường ngắn nhất và tôi dường như không thể tìm ra nó. Tôi đã đọc hai câu hỏi về chủ đề này:Boost dijkstra shortest_path - làm thế nào bạn có thể có được con đường ngắn nhất và không chỉ là khoảng cách?
Dijkstra Shortest Path with VertexList = ListS in boost graph
Boost:: Dijkstra Shortest Path, how to get vertice index from path iterator?
Nhưng trong cả hai ví dụ được cung cấp, typedef IndexMap dường như không làm việc với các trình biên dịch Visual Studio, và thẳng thắn , Boost typedefs là một chút bối rối với tôi và tôi đang gặp một số khó khăn trong việc tìm ra tất cả điều này. Dựa trên mã ví dụ Boost ở đây, bất cứ ai có thể cho tôi biết làm thế nào tôi chỉ có thể có được con đường ra khỏi nó? Tôi sẽ rất biết ơn.
http://www.boost.org/doc/libs/1_46_1/libs/graph/example/dijkstra-example.cpp
Lưu ý - Tôi nghĩ bạn phải thêm path.push_back (current); ngay trước khi bạn đến path.push_back cuối cùng (bắt đầu); - khi tôi sử dụng nó, nó giữ quên nút trước cái cuối cùng. – Darkenor
@Darkenor Xin lỗi về điều đó, tôi tin rằng nó hoạt động chính xác. –
Thx cho đoạn mã hữu ích! Thật khó để sửa đổi mã này để hiển thị khoảng cách riêng lẻ cho các phân đoạn không? – kfmfe04