Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

Видеокурс программиста и крэкера 5D 2O17
(актуальность: декабрь 2O17)
Свежие инструменты, новые видеоуроки!

  • 400+ видеоуроков
  • 800 инструментов
  • 100+ свежих книг и статей

УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Функция бинарного поиска

2025 год. Фирма Microsoft представляет собой корпорацию-государство. Билл Гейтс удалился в мир иной, на собрании акционеров выступает новый глава корпорации Вольдемар В. Жириновский:
- Вас обманывают эти подонки из INTEL, в процессоре UltraProPentiumMMX&MCMIX-4 содержатся ошибки, масоны захватили Internet, от работы с "мышью" прогрессирует геморрой, но самое главное - в 1 гигабайте не 1024, а 1023 мегабайта!


 function FoundByBinarySearch(
   LowIdx,
   HighIdx: LongInt;
   var Result: LongInt;
   const GoalIs: CompareFunc;
   var Data;
   var Goal
   ): Boolean;
 var
   CompVal: CompareResults;
 begin
   FoundByBinarySearch := FALSE;
 
   if HighIdx < LowIdx then
     Exit;
 
   Result := LowIdx + ((HighIdx - LowIdx) div 2);
   CompVal := GoalIs(Result, Data, Goal);
 
   if CompVal = BinEqual then
     FoundByBinarySearch := TRUE
   else if (LowIdx < HighIdx) then
   begin
     if CompVal = BinLess then
       HighIdx := Result - 1
     else {CompVal = BinGreater}
       LowIdx := Result + 1;
     FoundByBinarySearch := FoundByBinarySearch(
       LowIdx, HighIdx, Result, GoalIs, Data, Goal)
   end
   else if (CompVal = BinLess) then
     Dec(Result)
 end; { function FoundByBinarySearch }
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS