From 727e1d7c2b19457601ca528c47850cfba76300eb Mon Sep 17 00:00:00 2001 From: "navid.sassan" Date: Sun, 8 Nov 2020 21:20:51 +0100 Subject: [PATCH] minor improvement --- 07/src/main/java/ch/zhaw/ads/Node.java | 3 +++ 07/src/main/java/ch/zhaw/ads/RouteServer.java | 10 +++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/07/src/main/java/ch/zhaw/ads/Node.java b/07/src/main/java/ch/zhaw/ads/Node.java index 6490678..8be68a0 100644 --- a/07/src/main/java/ch/zhaw/ads/Node.java +++ b/07/src/main/java/ch/zhaw/ads/Node.java @@ -31,4 +31,7 @@ public class Node { edges.add(edge); } + public boolean equals(DijkstraNode other) { + return this.name == other.getName(); + } } diff --git a/07/src/main/java/ch/zhaw/ads/RouteServer.java b/07/src/main/java/ch/zhaw/ads/RouteServer.java index 2a05537..343b858 100644 --- a/07/src/main/java/ch/zhaw/ads/RouteServer.java +++ b/07/src/main/java/ch/zhaw/ads/RouteServer.java @@ -45,6 +45,12 @@ public class RouteServer implements CommandExecutor { } private void dijkstra(String from, String to) { + for (DijkstraNode node : graph.getNodes()) { + node.setMark(false); + node.setDist(Double.POSITIVE_INFINITY); + node.setPrev(null); + } + Queue pq = new PriorityQueue(); DijkstraNode start = graph.findNode(from); DijkstraNode goal = graph.findNode(to); @@ -53,9 +59,7 @@ public class RouteServer implements CommandExecutor { while (!pq.isEmpty()) { DijkstraNode current = pq.poll(); current.setMark(true); - // implement equals for this - // if (current.equal(goal)) { - if (current.getName() == to) { + if (current.equals(goal)) { break; } for (Edge edge : current.getEdges()) {