Casep^.iBalance of. bBecameHigher := false; Begin
Else
Begin
Else
End
Begin
Begin
Begin
p^.iBalance:= 0;
bBecameHigher:= false;
end ;
0:
p^.iBalance:= -1;
// bBecameHigher:= true;
end ;
-1:
begin // Balancing
p1:= p^.pLeft;
if p1^.iBalance = -1 then
// Рис.1
p^.pLeft:= p1^.pRight;
p1^.pRight:= p;
p^.iBalance:= 0;
p:= p1;
Рис. 1
// Рис.2
p2:= p1^.pRight;
p1^.pRight:= p2^.pLeft;
p2^.pLeft:= p1;
p^.pLeft:= p2^.pRight;
p2^.pRight:= p;
Рис. 2
if p2^.iBalance = -1 then p^.iBalance:= 1 else p^.iBalance:= 0;
if p2^.iBalance = +1 then p1^.iBalance:= -1 else p1^.iBalance:= 0;
p:= p2;
end ;
p^.iBalance:= 0;
bBecameHigher:= false;
end ; // case -1:
end ; // case p^.iBalance of
end // if iKey < p^.iKey then
if iKey > p^.iKey then
IncludeKey(iKey, p^.pRight, bBecameHigher);
if bBecameHigher then // Right branch became higher
-1:
Дата добавления: 2014-01-07 ; Просмотров: 237 ; Нарушение авторских прав? ; Мы поможем в написании вашей работы!
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет