20 lines
547 B
Text
20 lines
547 B
Text
const func integer: binarySearchIterative (in array elemType: arr, in elemType: aKey) is func
|
|
result
|
|
var integer: result is 0;
|
|
local
|
|
var integer: low is 1;
|
|
var integer: high is 0;
|
|
var integer: middle is 0;
|
|
begin
|
|
high := length(arr);
|
|
while result = 0 and low <= high do
|
|
middle := low + (high - low) div 2;
|
|
if aKey < arr[middle] then
|
|
high := pred(middle);
|
|
elsif aKey > arr[middle] then
|
|
low := succ(middle);
|
|
else
|
|
result := middle;
|
|
end if;
|
|
end while;
|
|
end func;
|