Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Binärbaum preorder Algorithmus

  Alt 11. Nov 2012, 13:28
Es wird aber (wie vorher) nur der String eines Objektes angezeigt.
WO wird der String angezeigt? Im Debugger der IDE?

Es kommt immer drauf an, wo man den Breakpoint setzt.
Ausserdem ist das Debuggen von rekursiven Funktionen nicht so einfach.
Man verliert sehr leicht den Überblick auf welcher Aufruftiefe man sich bewegt.
Mit einer kleinen Erweiterung (Parameter level) kann man die Tiefe der rekursiven Aufrufe mitzählen:
Delphi-Quellcode:
function TBaumklasse.preorderfunc(baum:TBinaryTree; level:Integer):string;
begin
  if not baum.isEmpty then
  begin
    Result := Kettenklasse(baum.getobject).gibString;
    Result := Result + '[' + preorderfunc(baum.getLeftTree, level+1) + ']';
    Result := Result + '[' + preorderfunc(baum.getRightTree,level+1) + ']';
  end
  else Result := '(empty)'; // zum Test um leere Knoten zu entdecken
end;

Geändert von sx2008 (11. Nov 2012 um 13:34 Uhr)
  Mit Zitat antworten Zitat