简短描述:我有一个有向图,它不会保留一半的边。
我有以下代码:
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!
有人可以帮助我吗?
提前致谢!