假设我有一个Edge。如何轻松找到它连接的两个节点? LEMON的文档太少了,我找不到相关的信息。
答案 0 :(得分:2)
您可以使用source和target来查找边连接的节点,它可以像这样工作
ListDigraph graph;
ListDigraph::Arc edge;
ListDigraph::Node a1,a2;
a1 = graph.source(edge);
a2 = graph.target(edge);
答案 1 :(得分:0)
如果其他人想知道如何在无向设置(“边缘”应该指代,而不是有向设置中的“弧”)中实现这一点, source
和 target
的对应方法是 u
和 v
。用于列出无向图 G
的所有边的端点的片段如下所示:
for(ListGraph::EdgeIt edge(G); edge != INVALID; ++edge)
std::cout << G.id(G.u(edge)) << " -- " << G.id(G.v(edge)) << endl;