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;
...
}