habs noch ein wenig umgeschrieben funktioniert aber noch nicht. bin ratlos:
Delphi-Quellcode:
procedure TAVLBaum.LLDrehung;
var Zeiger: TAVLBaum;
begin
Zeiger := links;
links := Zeiger.rechts;
Zeiger.rechts := Self;
Balance := 0;
Self := Zeiger;
{
links.rechts := TAVLBaum.create(Wurzel);
Self := links;}
end;
procedure TAVLBaum.LRDrehung;
var Zeiger1, Zeiger2: TAVLBaum;
begin
Zeiger1 := links;
Zeiger2 := Zeiger1.rechts;
Zeiger1.rechts := Zeiger2.links;
Zeiger2.links := Zeiger1;
links := Zeiger2;
{
links.rechts.links := TAVLBaum.create(links.Wurzel);
links := links.rechts;}
LLDrehung;
end;
procedure TAVLBaum.RRDrehung;
var Zeiger: TAVLBaum;
begin
Zeiger := rechts;
rechts := Zeiger.links;
Zeiger.links := Self;
Balance := 0;
Self := Zeiger;
{
rechts.links := TAVLBaum.create(Wurzel);
Self := rechts;}
end;
procedure TAVLBaum.RLDrehung;
var Zeiger1, Zeiger2: TAVLBaum;
begin
Zeiger1 := rechts;
Zeiger2 := Zeiger1.links;
Zeiger1.links := Zeiger2.rechts;
Zeiger2.rechts := Zeiger1;
rechts := Zeiger2;
{
rechts.links.rechts := TAVLBaum.create(rechts.Wurzel);
rechts := rechts.links;}
RRDrehung;
end;