如何在OGDF中引导边缘?

时间:2013-05-03 19:26:18

标签: c++ ogdf

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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