2012-01-25 11 views
0

我正在使用boost圖庫來解決網絡圖問題。我有一種情況,我需要將過濾後的圖轉換回常規(鄰接列表)。我不知道如何將過濾圖形複製到常規圖形中。任何人都可以告訴我,我怎樣才能將濾波後的圖形轉換回常規圖形。將濾波圖轉換爲升壓圖中的常規圖(鄰接列表)

我想轉換回來的原因是因爲我需要使用已生成的過濾圖形生成一個更多的過濾圖形,並且通過執行此編譯器在編譯時引發了一些錯誤。所以我想將過濾後的圖轉換成常規圖,並檢查它的行爲。

回答

2

有一個boost::copy_graph函數,您可以將您的過濾圖形和一個新的adjacency_list並讓它做副本。

+0

你好耶利米,謝謝我試過了。我正在使用捆綁的邊緣屬性,好像它對捆綁屬性有一些問題。我得到運行時錯誤,說頂點超出範圍。你有什麼想法嗎? – user1088211

+0

@ user1088211:你有一個小程序有這個問題嗎? –

+0

你好耶利米!直接我無法將過濾圖形複製到原始圖形。所以嘗試使用一個臨時圖形是相同的圖形類型,併爲此copy_graph工作正常,後來分配此臨時圖形到我所需的圖形。所以,問題解決了,一切似乎都正常。但我不知道它爲什麼不直接複製。然而,問題已經解決,copy_graph()確實非常有用。感謝這個建議。 :) – user1088211