diff --git a/out/production/Real Task 9/Comparators$AltComparator.class b/out/production/Real Task 9/Comparators$AltComparator.class index db51ddb8215477d1e1f2b8161b3338dc8d10e03f..7771cd421817a493e4e2270f4e43bbc01c26119b 100644 Binary files a/out/production/Real Task 9/Comparators$AltComparator.class and b/out/production/Real Task 9/Comparators$AltComparator.class differ diff --git a/src/Comparators.java b/src/Comparators.java index 8b74ca859bbb3d018c6b61ceac9aa83f15de5900..968c6a52676525efef2a9e78a5b9aa3238e9623a 100644 --- a/src/Comparators.java +++ b/src/Comparators.java @@ -8,17 +8,14 @@ public class Comparators { } static class AltComparator implements Comparator<Edge> { int[] landMark; - int landMarkNumber; + int landMarkDistance; public AltComparator(int[] landMarkValues, int landMarkNumber){ landMark = landMarkValues; - this.landMarkNumber = landMarkNumber; + this.landMarkDistance = landMark[landMarkNumber]; } @Override public int compare(Edge o1, Edge o2) { - return Integer.compare(o1.drivingTime + o1.currentWeight+getDelta(o1.destination), o2.drivingTime + o2.currentWeight +getDelta(o2.destination)); - } - private int getDelta(int destination){ - return landMark[destination] - landMark[landMarkNumber]; + return Integer.compare(o1.drivingTime + o1.currentWeight+ landMark[o1.destination] - landMarkDistance, o2.drivingTime + o2.currentWeight +landMark[o2.destination] - landMarkDistance); } } }