简短描述:我有一个不保存一半边的有向图。
我有以下代码:
int startV = sc.nextInt();
int endV = sc.nextInt();
int length = sc.nextInt();
a = maze.insertVertex(startV);
b = maze.insertVertex(endV);
e = maze.insertEdge(a, b, length);
然后,在 insertEdge 中,我有:
public Edge insertEdge(Vertex v, Vertex w, int length) {
Edge e = new Edge(v, w, length);
if(!edges.contains(e))
{
v.addOutgoingEdge(e);
w.addIncomingEdge(e);
edges.add(e);
}
return e;
}
传入和传出边的代码是:
public void addIncomingEdge(Edge e)
{
incomingEdges.add(e);
}
public void addOutgoingEdge(Edge e)
{
outgoingEdges.add(e);
}
问题是,outGoing 被添加到 a,但传入边缘没有添加到 b!
有人能帮我吗?
提前致谢!