Программы   Загрузка Партнерство   О компании Контакты  
 
                    
  Карта Сайта   
   





Бинарный поиск в целочисленном массиве

Автор: Mystic
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Бинарный поиск

Бинарный поиск в целочисленном массиве - шаблон для функции,
выполняющей бинарный поиск.
X - значение, которое ищеться
A - массив в котором происходит поиск.
возвращаемое значение
индекс элемента, начиная с которого значения в массиве превышают заданное значение
в случае точного поиска заменить строку Result := L и -1 будет свидетельствовать
о том, что значение не найдено.

Зависимости: System
Автор:       Mystic, mystic2000@newmail.ru, ICQ:125905046, Харьков
Copyright:   Mystic
Дата:        25 апреля 2002 г.
***************************************************** }

function BinaryFind(X: Integer; A: array of Integer): Integer;

  function RecurceFind(L, R: Integer): Integer;
  var
    M: Integer;
  begin
    if R < L then
    begin
      Result := L; // Result := -1 если поиск точный
      Exit;
    end;
    M := (L + R) div 2;
    if A[M] = X then
    begin
      Result := M;
      Exit;
    end;
    if A[M] > X then
      Result := RecurceFind(L, M - 1)
    else
      Result := RecurceFind(M + 1, R)
  end;

begin
  Result := RecurceFind(Low(A), High(A));
end;
           




Программы  |  Загрузка  |  Партнерство  |  О компании  |  Контакты

Copyright © LSD Software 2006 - 2011