Implementierung des Binärbaums - Teil 2: Einfügen

This commit is contained in:
2025-02-18 09:44:58 +01:00
parent 5b644264af
commit fe7f85dfb1
6 changed files with 63 additions and 34 deletions

View File

@@ -16,8 +16,9 @@ public class Abschluss extends Baumelement
{
}
// weitere Methoden
public Baumelement einfügen(Datenelement datenNeu) {
return new Knoten(datenNeu);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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();
}

View File

@@ -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;
}

View File

@@ -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;
}