BinarySearchRange(Value: String; Index: Integer; Count: Integer): Integer;
Value. Значение, которое необходимо найти;
Index. Начальный индекс диапазона, в котором будет производиться поиск;
Count. Количество элементов, среди которых будет производиться поиск.
Метод BinarySearchRange осуществляет двоичный поиск элемента в диапазоне массива.
Поиск осуществляется в отсортированном диапазоне массива. В случае удачного поиска возвращает номер первого найденного элемента, иначе «-1».
Sub Main;
Var
StrL: IStringList;
i: Integer;
Begin
StrL:=New StringList.Create;
For i:=0 To 100 Do
StrL.Add("Number "+Math.RandBetweenI(0,100).ToString);
End For;
StrL.Sort;
i:=StrL.BinarySearchRange("Number 20",10,StrL.Count);
End Sub Main;
После выполнения примера будет сгенерирован динамический массив строк. В средней части массива, за исключением первых и последних 10 элементов, будет осуществлен поиск значения «Number 20». В случае удачного поиска в переменной «i» будет содержаться номер первого найденного элемента.
См. также: