From a34d60c0d0170e370c763685c387b8ac13212644 Mon Sep 17 00:00:00 2001 From: hummel Date: Tue, 8 Apr 2025 18:54:20 +0200 Subject: [PATCH] Used a Deque for "automatic" reordering of calculated route. --- .../th_mannheim/informatik/routenplaner/NaviApp.java | 3 ++- .../informatik/routenplaner/domain/Routeplaner.java | 12 +++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Routenplaner/src/de/th_mannheim/informatik/routenplaner/NaviApp.java b/Routenplaner/src/de/th_mannheim/informatik/routenplaner/NaviApp.java index 7a9ad93..b3a7006 100644 --- a/Routenplaner/src/de/th_mannheim/informatik/routenplaner/NaviApp.java +++ b/Routenplaner/src/de/th_mannheim/informatik/routenplaner/NaviApp.java @@ -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); } } diff --git a/Routenplaner/src/de/th_mannheim/informatik/routenplaner/domain/Routeplaner.java b/Routenplaner/src/de/th_mannheim/informatik/routenplaner/domain/Routeplaner.java index 822013d..7964d2e 100644 --- a/Routenplaner/src/de/th_mannheim/informatik/routenplaner/domain/Routeplaner.java +++ b/Routenplaner/src/de/th_mannheim/informatik/routenplaner/domain/Routeplaner.java @@ -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 initializePlanning(String start, String destination) { + public Deque 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 hops = new LinkedList<>(); + Deque 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;