2

我有一个简单的无向图 G,如果某个条件为真,我想反转一条边。以下代码给出了 EdgeElement 构造函数不可访问的错误:

if(dfsNum[source->index()]>dfsNum[target->index()]){
    EdgeElement ee(target, source, target->firstAdj(), source->firstAdj(), e->index());
    e = ee.theEdge();
}

这是做我正在做的事情的正确方法吗?

重要编辑:我的错。我不必扭转边缘,我必须引导它。

4

2 回答 2

2

根据文档,您可以使用删除边delEdge并使用添加新边newEdge。无向图实际上可能是一个有向图,每个无向边都有两条有向边。如果是这种情况,请删除不再需要的边缘。例如,要将一条无向边 (u, v) 从 u 指向 v,则删除有向边 (v, u),因此唯一剩下的有向边是 (u, v)。searchEdge您可以使用该方法找到要删除的边缘。

于 2013-05-03T21:14:45.627 回答
1

G.reverseEdge(e) 反转图 G 中的边 e。

于 2013-05-03T21:10:17.763 回答