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 := TRUEelseif (LowIdx < HighIdx) thenbeginif CompVal = BinLess then
HighIdx := Result - 1
else{CompVal = BinGreater}
LowIdx := Result + 1;
FoundByBinarySearch := FoundByBinarySearch(
LowIdx, HighIdx, Result, GoalIs, Data, Goal)
endelseif (CompVal = BinLess) then
Dec(Result)
end; { function FoundByBinarySearch }
Статья Функция бинарного поиска раздела Синтаксис Память и Указатели может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.