From 1b8ef887fce13dcbb1dec9e55dbb313a38b5272a Mon Sep 17 00:00:00 2001 From: "J. Zhao" Date: Thu, 9 Apr 2020 20:40:04 +0800 Subject: [PATCH] bgraph: avoid adding duplicated edges in addEdge(src, dst) --- graph/bgraph.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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__ */