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ます。無向グラフは、実際には、すべての無向辺に対して 2 つの有向辺を持つ有向グラフである可能性があります。その場合は、不要になったエッジを削除してください。たとえば、無向辺 (u, v) を u から v に向けるには、有向辺 (v, u) を削除して、残りの有向辺が (u, v) だけになるようにします。searchEdgeメソッドを使用して、削除するエッジを見つけることができます。

于 2013-05-03T21:14:45.627 に答える