From 6bbef8efd0748d7ebd71c8e17b90ac7f407e4575 Mon Sep 17 00:00:00 2001 From: pacien Date: Sat, 3 Feb 2018 20:58:28 +0100 Subject: Fix path finder incorrect behaviour Signed-off-by: pacien --- src/main/java/fr/umlv/java/wallj/board/PathFinder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main') diff --git a/src/main/java/fr/umlv/java/wallj/board/PathFinder.java b/src/main/java/fr/umlv/java/wallj/board/PathFinder.java index c530d83..dfd1fa6 100644 --- a/src/main/java/fr/umlv/java/wallj/board/PathFinder.java +++ b/src/main/java/fr/umlv/java/wallj/board/PathFinder.java @@ -57,7 +57,7 @@ public class PathFinder { private static List findPath(Node start, T target, BiFunction heuristic) { Map, NodeSearchData> searchData = new HashMap<>(); - TreeSet> discovered = new TreeSet<>(Comparator.comparingDouble(n -> searchData.get(n).estimatedCost)); + Queue> discovered = new PriorityQueue<>(Comparator.comparingDouble(n -> searchData.get(n).estimatedCost)); Set> visited = new HashSet<>(); searchData.put(start, new NodeSearchData<>(null, 0, heuristic.apply(start.val, target))); @@ -65,7 +65,7 @@ public class PathFinder { Node current; while (!discovered.isEmpty()) { - current = discovered.pollFirst(); + current = discovered.poll(); if (target.equals(current.val)) return buildPath(searchData, current); for (Map.Entry, Integer> neighborEntry : current.neighbors.entrySet()) { -- cgit v1.2.3