/** Licence: GPL * Author : Markus Raab*/ #ifndef BAUM_H #define BAUM_H #include#include /** Diese Klasse implementiert einen Baum * Er hat nur die Basisfunktionen*/ class Baum { Baum * links; // linker Teilbaum Baum * rechts; // rechter Teilbaum string key; // key des Blattes string data; // Daten public: /** Spezielle Funktionen*/ /**Gibt die größte Tiefe in dem linken Zweig *zurück*/ int getLeftDepth(); /**Gibt die größte Tiefe in dem linken Zweig *zurück*/ int getRightDepth(); /**Gibt die größte Tiefe am diesem Element zurück*/ int getMaxDepth(); /** Wichtige Funktionen*/ /** Setzt alle Werte auf 0*/ Baum (); /** Löscht automatisch den ganzen Baum*/ ~Baum (); /** Fügt ein Blatt in den Baum hinzu*/ void add (string Key, string Data); /** Druckt alle Blätter eines Levels mit Trennstring aus*/ void print (int Level, int Trenn); /** Liefert Daten zu einem Key zurück*/ string get (string Key); }; #endif