0
我看了一下Boost圖的概念,但它沒有提供從頂點的一對中獲取任何邊的任何接口。 我曾嘗試:boost :: graph:實現從一對頂點獲得邊緣的獨立方式
boost::graph_traits<G>::edge_descriptor edge(u, v); // does not work
,但它需要一個額外的指針屬性類型。我怎麼弄到的?
我看了一下Boost圖的概念,但它沒有提供從頂點的一對中獲取任何邊的任何接口。 我曾嘗試:boost :: graph:實現從一對頂點獲得邊緣的獨立方式
boost::graph_traits<G>::edge_descriptor edge(u, v); // does not work
,但它需要一個額外的指針屬性類型。我怎麼弄到的?
boost :: edge()的第三個參數就是你的圖形。
還要注意的是該函數不直接返回邊緣描述符,但是根據所述邊緣的存在
像這樣含有邊描述符和一個布爾一對:
G myGraph; // construct the graph
.... // populate it
.... // select a pair of vertices u, v
// get the edge between the vertices, if it exists
typedef boost::graph_traits<G>::edge_descriptor edge_t;
edge_t found_edge;
std::pair < edge_t, bool > p = boost::edge(u, v, myGraph);
if(! p.second) {
// edge does not exist
...
} else {
found_edge = p.first;
...
}