Rekursiv

Hi,

also hier habe ich das ganze Mal in Java-Pseudocode. Ist nur so runtergeschrieben und compiliert wahrscheinlich nicht.

Java:
public static void erstelleNotenliste(List<NotenInfo> notenliste, Knoten knoten)
{
    if(knoten.getKnotenLinks() != null) {
        erstelleNotenliste(notenliste, knoten.getKnotenLinks());
    }

    notenliste.add(new NotenInfo(knoten.getStudent().getMatrNr(), knoten.getStudent().getNoteInf2()));

   if(knoten.getKnotenRechts() != null) {
        erstelleNotenliste(notenliste, knoten.getKnotenRechts());
    }
}

Damit wird der Suchbaum per In-Order durchlaufen und die Elemente in die Liste eingefügt.
Probiers mal aus.

Gruß twagi
 
Gut ... aber das noteliste.add() müsste WENN dann schon ans Ende weil du ja nicht sichergehen kannst das ein Baum immer links-lastig ist.
 
Wenn das add ans Ende kommt, hat man wieder eine falsche Sortierung, das ist schon richtig so. Oder wenn man davon ausgeht, dass das nicht so ist, wie du es ja gesagt hast und ich von anfang an so implementiert hatte, dann muss man eben nachträglich sortieren lassen. Bleibt dann eben nicht aus.
 
Zurück