16.08.2013 Aufrufe

Ausbalancierte Bäume Sortieren mit AVL-Bäumen

Ausbalancierte Bäume Sortieren mit AVL-Bäumen

Ausbalancierte Bäume Sortieren mit AVL-Bäumen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

epeat<br />

BegTree:=UpperT;<br />

UpperT:=UpperT^.Last;<br />

until (UpperT=nil) or (UpperT^.Right=BegTree);<br />

if UpperTnil then<br />

Move(UpperT^.Data^, LData, DatSize)<br />

else<br />

FillChar(LData,DatSize,0);<br />

LastNode:=UpperT;<br />

end;<br />

end;<br />

{* ════════════════════════════════════════════*}<br />

function SearchNode(Var SKey, SData;<br />

BegTree: AvlTree): AvlTree;<br />

begin<br />

if BegTree=nil then<br />

begin<br />

SearchNode:=nil; Exit;<br />

end;<br />

repeat<br />

case Compare(SKey,BegTree^.TreeKey) of<br />

Equal : begin<br />

Move(BegTree^.Data^, SData, DatSize);<br />

SearchNode:=BegTree;<br />

Exit;<br />

end;<br />

Small : BegTree:=BegTree^.Left;<br />

Bigger : BegTree:=BegTree^.Right;<br />

end;<br />

until BegTree=nil;<br />

FillChar(SData,DatSize,0);<br />

SearchNode:=NIL;<br />

end;<br />

{* ════════════════════════════════════════════*}<br />

procedure ReplaceData(Var OldKey, NewData;<br />

RepTree: AvlTree;<br />

Var Success: boolean);<br />

var RepNode : AvlTree;<br />

Dummy : DatArray;<br />

begin<br />

RepNode:=SearchNode(OldKey, Dummy, RepTree);<br />

if RepNode=NIL then<br />

begin<br />

Success:=false;<br />

Exit;<br />

end;<br />

Success:=true;<br />

Move(NewData, RepNode^.Data^, DatSize);<br />

end;<br />

{**********************************************}<br />

{* Prozeduren zur Erhaltung der <strong>AVL</strong>-Struktur *}<br />

{**********************************************}<br />

procedure AllBalanceFactors(<strong>AVL</strong>: AvlTree;<br />

Var Height: Integer);<br />

var B, HLeft, HRight : Integer;<br />

begin<br />

if <strong>AVL</strong>=nil then<br />

begin

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!