Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   AVLBaum - Suche (https://www.delphipraxis.net/131492-avlbaum-suche.html)

wonnebeekiwi 25. Mär 2009 17:58


AVLBaum - Suche
 
Liste der Anhänge anzeigen (Anzahl: 1)
hi
habe eine frage: wieso gibt der folgende quellcode bei anfrage immer True zurueck, es sei denn der baum ist Leer?
ist wahrscheinlich sehr simple aber ich komme nicht drauf.

Delphi-Quellcode:
function TAVLBaum.KntnFinden(pItem: TItem): Boolean;
begin
  if Leer then
    Result := False
  else begin
    if Wurzel.isEqual(pItem) then
      Result := True
    else begin
      if Wurzel.isLower(pItem) then
        rechts.KntnFinden(pItem)
      else
        links.KntnFinden(pItem);
    end;
  end;
end;

function TAVLBaum.Leer():Boolean;
begin
  Result := (Wurzel = nil);
end;
die wurzel beinhalted TDaten ... ich denke das die funktionen alle passen. trotzdem nochmal das ganze programm.
(teilweise sind noch sachen ausgeschaltet und generell nicht ganz korekt)

nuclearping 25. Mär 2009 18:38

Re: AVLBaum - Suche
 
Delphi-Quellcode:
      if Wurzel.isLower(pItem) then
        rechts.KntnFinden(pItem)
      else
        links.KntnFinden(pItem);
    end;
Wo ist da das Result?

wonnebeekiwi 25. Mär 2009 18:45

Re: AVLBaum - Suche
 
hi...
erst mal danke ;).
also ich hab mir das so vorgestellt, dass das ganze rekursiv laeuft.... eigentlich soll die funkrion da wieder aufgerufen werden (bis die wurzel ein nil-zeiger oder den richtigen inhalt hat).
wie muss ich das result denn richtig implementieren?

nuclearping 25. Mär 2009 19:18

Re: AVLBaum - Suche
 
Vielleicht so?
Delphi-Quellcode:
if Wurzel.isLower(pItem) then
        Result := rechts.KntnFinden(pItem)
      else
        Result := links.KntnFinden(pItem);
    end;

wonnebeekiwi 25. Mär 2009 20:55

Re: AVLBaum - Suche
 
danke!! is ja relativ peinlich :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz