mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-10 14:36:09 +02:00
lazutils: TAvgLvlTree.FindLeftMostKey/FindRightMostKey fixed
git-svn-id: trunk@47645 -
This commit is contained in:
parent
dcd5d9b09e
commit
73702875b0
@ -1278,14 +1278,30 @@ end;
|
||||
|
||||
function TAvgLvlTree.FindLeftMostKey(Key: Pointer;
|
||||
OnCompareKeyWithData: TListSortCompare): TAvgLvlTreeNode;
|
||||
var
|
||||
LeftNode: TAvgLvlTreeNode;
|
||||
begin
|
||||
Result:=FindLeftMostSameKey(FindKey(Key,OnCompareKeyWithData));
|
||||
Result:=FindKey(Key,OnCompareKeyWithData);
|
||||
if Result=nil then exit;
|
||||
repeat
|
||||
LeftNode:=Result.Precessor;
|
||||
if (LeftNode=nil) or (OnCompareKeyWithData(Key,LeftNode.Data)<>0) then break;
|
||||
Result:=LeftNode;
|
||||
until false;
|
||||
end;
|
||||
|
||||
function TAvgLvlTree.FindRightMostKey(Key: Pointer;
|
||||
OnCompareKeyWithData: TListSortCompare): TAvgLvlTreeNode;
|
||||
var
|
||||
RightNode: TAvgLvlTreeNode;
|
||||
begin
|
||||
Result:=FindRightMostSameKey(FindKey(Key,OnCompareKeyWithData));
|
||||
Result:=FindKey(Key,OnCompareKeyWithData);
|
||||
if Result=nil then exit;
|
||||
repeat
|
||||
RightNode:=Result.Successor;
|
||||
if (RightNode=nil) or (OnCompareKeyWithData(Key,RightNode.Data)<>0) then break;
|
||||
Result:=RightNode;
|
||||
until false;
|
||||
end;
|
||||
|
||||
function TAvgLvlTree.FindLeftMostSameKey(ANode: TAvgLvlTreeNode): TAvgLvlTreeNode;
|
||||
|
Loading…
Reference in New Issue
Block a user