在LEMON图库中查找边的节点

时间:2013-03-27 10:46:21

标签: c++ graph lemon-graph-library

假设我有一个Edge。如何轻松找到它连接的两个节点? LEMON的文档太少了,我找不到相关的信息。

2 个答案:

答案 0 :(得分:2)

您可以使用source和target来查找边连接的节点,它可以像这样工作

ListDigraph graph;
ListDigraph::Arc edge;
ListDigraph::Node a1,a2;
a1 = graph.source(edge);
a2 = graph.target(edge);

答案 1 :(得分:0)

如果其他人想知道如何在无向设置(“边缘”应该指代,而不是有向设置中的“弧”)中实现这一点, sourcetarget 的对应方法是 uv。用于列出无向图 G 的所有边的端点的片段如下所示:

for(ListGraph::EdgeIt edge(G); edge != INVALID; ++edge) 
    std::cout << G.id(G.u(edge)) << " -- " << G.id(G.v(edge)) << endl;

the relevant part of LEMON's documentation