From 3d9fbcd8bb9116eb01305de33af76e16d0bae134 Mon Sep 17 00:00:00 2001 From: Oliver Hummel Date: Tue, 20 Dec 2022 14:40:30 +0100 Subject: [PATCH] =?UTF-8?q?Rudiment=C3=A4re=20Breitensuche=20implementiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (noch ohne Zeilenumbrüche für die Niveaus) --- Baum/src/Baum.java | 34 +++++++++++++++++++++++++++++++++- Baum/src/Main.java | 4 ++-- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/Baum/src/Baum.java b/Baum/src/Baum.java index 981992f..4867332 100644 --- a/Baum/src/Baum.java +++ b/Baum/src/Baum.java @@ -1,7 +1,12 @@ +import java.util.LinkedList; +import java.util.Queue; public class Baum { private Knoten wurzel; - + + private Queue ll = new LinkedList(); + private StringBuilder sb; + public void add(int wert) { if (wurzel == null) { wurzel = new Knoten(wert); @@ -14,6 +19,19 @@ public class Baum { public void inorder() { wurzel.inorder(); } + + public String toString() { + // Breitensuche + if (wurzel == null) + return "Baum ist noch leer"; + + sb = new StringBuilder(); + ll.add(wurzel); + + wurzel.breitensuche(); + + return sb.toString(); + } // ---------- @@ -53,6 +71,20 @@ public class Baum { if (this.rechts != null) this.rechts.inorder(); } + + public void breitensuche() { + if (links != null) + ll.add(this.links); + if (rechts != null) + ll.add(this.rechts); + + sb.append(ll.poll().wert + " "); + + if (ll.size() == 0) + return; + + ll.peek().breitensuche(); + } } diff --git a/Baum/src/Main.java b/Baum/src/Main.java index c33701c..fa1557d 100644 --- a/Baum/src/Main.java +++ b/Baum/src/Main.java @@ -10,9 +10,9 @@ public class Main { b1.add(11); - b1.inorder(); + // b1.inorder(); - System.out.println(b1); + System.out.println(b1.toString()); }