我有一个简单的UNDIRECTED Graph G,并且如果某个条件为真,则想要反转边缘。 以下代码给出了EdgeElement构造函数不可访问的错误:
if(dfsNum[source->index()]>dfsNum[target->index()]){
EdgeElement ee(target, source, target->firstAdj(), source->firstAdj(), e->index());
e = ee.theEdge();
}
这是我正在做的事情的正确方法吗?
重要编辑: 我的错。我不必扭转边缘,我必须指挥它。
答案 0 :(得分:2)
根据documentation,您可以使用delEdge
删除边缘,并使用newEdge
添加新边缘。无向图可能实际上是一个方向图,每个无向边有两个有向边。如果是这种情况,请删除不再需要的边缘。例如,要将无向边(u,v)从u引导到v,删除有向边(v,u),因此唯一剩下的有向边是(u,v)。您可以使用searchEdge
方法找到要删除的边缘。
答案 1 :(得分:1)
G.reverseEdge(e)反转图G中的边e。