Domanda

I have a simple UNDIRECTED Graph G, and want to reverse an edge if a certain condition is true. The following code gives an error that the EdgeElement constructor is inaccessible:

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

Is this the correct way of doing what I am doing?

IMPORTANT EDIT: My bad. I do not have to reverse the edge, I have to direct it.

Nessuna soluzione corretta

Altri suggerimenti

Based on the documentation, you can delete an edge using delEdge and add a new edge using newEdge. The undirected graph may really be a directional graph with two directed edges for every undirected edge. If that is the case, delete the edge that you do not need anymore. For example, to direct an undirected edge (u, v) from u to v, delete the directed edge (v, u), so the only remaining directed edge is (u, v). You can find an edge to delete using the searchEdge method.

G.reverseEdge(e) reverses edge e in graph G.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top