Used a Deque for "automatic" reordering of calculated route.
parent
dbeb4418f3
commit
a34d60c0d0
|
@ -9,7 +9,8 @@ public class NaviApp {
|
|||
|
||||
System.out.println(map.getNumberOfCities());
|
||||
|
||||
map.initializePlanning("Mannheim", "München");
|
||||
for (String waypoint : map.initializePlanning("Mannheim", "Wilhelmshaven"))
|
||||
System.out.println(waypoint);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2,8 +2,9 @@ package de.th_mannheim.informatik.routenplaner.domain;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.Deque;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Scanner;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
|
@ -17,7 +18,7 @@ public class Routeplaner {
|
|||
loadData();
|
||||
}
|
||||
|
||||
public LinkedList<String> initializePlanning(String start, String destination) {
|
||||
public Deque<String> initializePlanning(String start, String destination) {
|
||||
cities.get(start).setDistance(0);
|
||||
|
||||
planRoute(start, destination);
|
||||
|
@ -27,19 +28,16 @@ public class Routeplaner {
|
|||
System.out.println("Route:");
|
||||
System.out.println();
|
||||
|
||||
LinkedList<String> hops = new LinkedList<>();
|
||||
Deque<String> hops = new ArrayDeque<>();
|
||||
City dc = cities.get(destination);
|
||||
|
||||
while (true) {
|
||||
hops.add(dc.getName() + " " + dc.getDistance() + " km");
|
||||
System.out.println("Stadt: " + dc.getName() + " " + dc.getDistance() + " km");
|
||||
hops.push(dc.getName() + " " + dc.getDistance() + " km");
|
||||
|
||||
if (dc.getName().equals(start))
|
||||
break;
|
||||
|
||||
dc = cities.get(dc.getPredecessor());
|
||||
|
||||
System.out.println("\tVorher: " + dc.getName());
|
||||
}
|
||||
|
||||
return hops;
|
||||
|
|
Loading…
Reference in New Issue