diff --git a/graph/bgraph.h b/graph/bgraph.h index af5a162..efcdc2a 100644 --- a/graph/bgraph.h +++ b/graph/bgraph.h @@ -126,10 +126,12 @@ class BGraph { * Add edge and keep neighbors in ordered vector. */ void addEdge(const int src, const int dst) { - addNodeL(src); - nodes_L_[src].addNbr(dst); - addNodeR(dst); - nodes_R_[dst].addNbr(src); + if (!isEdge(src, dst)) { + addNodeL(src); + nodes_L_[src].addNbr(dst); + addNodeR(dst); + nodes_R_[dst].addNbr(src); + } } /** @@ -170,6 +172,6 @@ class BGraph { }; /* BGraph */ -} /* namespace graph */ +} // namespace graph::bi #endif /* __BGRAPH_H__ */