Binary Search
Binary Search
BinS(X:Item;First,Last:Integer):Integer
var Middle:Integer;
begin
if First <= Last then
Middle = (First + Last)/2;
if L[Middle] = X then return Middle;
if L[Middle] < X then return BinS(X,Middle+1,Last);
if L[Middle] > X then return BinS(X,First,Middle-1);
else
return -1;
endif;
end;