diff --git a/Abschluss.java b/Abschluss.java index 4b9bf26..23094bf 100644 --- a/Abschluss.java +++ b/Abschluss.java @@ -16,8 +16,9 @@ public class Abschluss extends Baumelement { } - // weitere Methoden - + public Baumelement einfügen(Datenelement datenNeu) { + return new Knoten(datenNeu); + } diff --git a/Baumelement.java b/Baumelement.java index a8501d6..d3f7a7c 100644 --- a/Baumelement.java +++ b/Baumelement.java @@ -1,14 +1,14 @@ -/** - * Abstrakte Klasse Baumelement - beschreiben Sie hier die Klasse - * - * @author (Ihr Name) - * @version (eine Version-Nummer oder ein Datum) - */ -public abstract class Baumelement -{ - // Attribute - - // Methoden - - -} +/** + * Abstrakte Klasse Baumelement - beschreiben Sie hier die Klasse + * + * @author (Ihr Name) + * @version (eine Version-Nummer oder ein Datum) + */ +public abstract class Baumelement +{ + // Attribute + + // Methoden + public abstract Baumelement einfügen(Datenelement datenNeu); + +} diff --git a/BinBaum.java b/BinBaum.java index 8deabe6..eaa6386 100644 --- a/BinBaum.java +++ b/BinBaum.java @@ -18,7 +18,9 @@ public class BinBaum this.wurzel = new Abschluss(); } - // weitere Methoden + public void einfügen(Datenelement datenNeu) { + this.wurzel = this.wurzel.einfügen(datenNeu); + } diff --git a/Datenelement.java b/Datenelement.java index 2cedd6c..3473ad2 100644 --- a/Datenelement.java +++ b/Datenelement.java @@ -1,12 +1,15 @@ - -/** - * Tragen Sie hier eine Beschreibung des Interface Datenelement ein. - * - * @author (Ihr Name) - * @version (eine Versionsnummer oder ein Datum) - */ - -public interface Datenelement -{ - //hier Methodenköpfe eintragen in der Form "int beispielMethode(int y);" -} + +/** + * Tragen Sie hier eine Beschreibung des Interface Datenelement ein. + * + * @author (Ihr Name) + * @version (eine Versionsnummer oder ein Datum) + */ + +public interface Datenelement +{ + //hier Methodenköpfe eintragen in der Form "int beispielMethode(int y);" + public boolean istGleich(Datenelement d); + public boolean istGrößerAls(Datenelement d); + public String gibSchlüssel(); +} diff --git a/Knoten.java b/Knoten.java index fb769fc..95f0e4e 100644 --- a/Knoten.java +++ b/Knoten.java @@ -23,7 +23,18 @@ public class Knoten extends Baumelement this.rechterNachfolger = new Abschluss(); } - // weitere Methoden + public Baumelement einfügen(Datenelement datenNeu) { + if (this.daten.istGleich(datenNeu)) { + System.out.println("Daten schon enthalten!"); + } else { + if (this.daten.istGrößerAls(datenNeu)) { + this.linkerNachfolger = this.linkerNachfolger.einfügen(datenNeu); + } else { + this.rechterNachfolger = this.rechterNachfolger.einfügen(datenNeu); + } + } + return this; + } diff --git a/Wortpaar.java b/Wortpaar.java index cafbcb6..b1f0b97 100644 --- a/Wortpaar.java +++ b/Wortpaar.java @@ -7,16 +7,28 @@ */ public class Wortpaar implements Datenelement { - // Attribute + String wortDeutsch; + String wortEnglisch; /** * Konstruktor für Objekte der Klasse Wortpaar */ - public Wortpaar() - { + public Wortpaar(String wortDeutsch, String wortEnglisch) { + this.wortDeutsch = wortDeutsch; + this.wortEnglisch = wortEnglisch; + } + + public String gibSchlüssel() { + return this.wortDeutsch; } - // weitere Methoden + public boolean istGleich(Datenelement anderesWortpaar) { + return this.gibSchlüssel().equals(anderesWortpaar.gibSchlüssel()); + } + + public boolean istGrößerAls(Datenelement anderesWortpaar) { + return this.gibSchlüssel().compareTo(anderesWortpaar.gibSchlüssel()) > 0; + }