Hab von meine Prof die Aufgabe bekommen einen BBaum mit Key/Value-Paaren zu implementieren.
Dazu soll der Index Operator überladen werden.
Das ist ja eigentlich kein Problem, nur soll das ganze rekusiv implementiert werden.
Hab mir das so vorgestellt:
Alles anzeigen
Wie rufe ich den Operator rekursiv auf???
Logisch (für mich???) wäre: this[key], aber das funktioniert nicht.
Also was muss in die Zeile '//rekursiver Aufruf' ?
Dazu soll der Index Operator überladen werden.
Das ist ja eigentlich kein Problem, nur soll das ganze rekusiv implementiert werden.
Hab mir das so vorgestellt:
Quellcode
- const char * Baum::operator[](const char *key)
- {
- static Blatt *hilfszeiger = anker;
- if (hilfszeiger)
- {
- if (strcmp(key, hilfszeiger->schluessel) == 0)
- {
- return hilfszeiger->wert;
- }
- else
- {
- if (strcmp(key, hilfszeiger->schluessel) < 0)
- {
- hilfszeiger = hilfszeiger->links;
- //rekursiver Aufruf
- }
- else
- {
- hilfszeiger = hilfszeiger->rechts;
- //rekursiver Aufruf
- }
- }
- }
- return 0; //nur damit die Warnung verschwindet
- }
Wie rufe ich den Operator rekursiv auf???
Logisch (für mich???) wäre: this[key], aber das funktioniert nicht.
Also was muss in die Zeile '//rekursiver Aufruf' ?