Skip to content

Commit ee2d2d0

Browse files
fix: self double edged
1 parent c270150 commit ee2d2d0

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

src/Graph.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,13 @@ public function add_nodes_from(array $nodes)
2828

2929
public function add_edge($node1, $node2)
3030
{
31-
if (!in_array($node1, $this->nodes)) {
32-
$this->add_node($node1);
33-
}
31+
$this->add_node($node1);
32+
$this->add_node($node2);
3433

35-
if (!in_array($node2, $this->nodes)) {
36-
$this->add_node($node2);
37-
}
34+
$isNodesConnected = in_array($node1, $this->edges[$node2]);
35+
$isNodeItSelf = $node1 === $node2;
3836

39-
if (!in_array($node2, $this->edges[$node1])) {
37+
if (!$isNodesConnected && !$isNodeItSelf) {
4038
$this->edges[$node1][] = $node2;
4139
$this->edges[$node2][] = $node1;
4240
}

0 commit comments

Comments
 (0)