24 lines
517 B
Text
24 lines
517 B
Text
binarysearch(v, x) = {
|
|
local(
|
|
minm = 1,
|
|
maxm = length(v),
|
|
guess = floor(maxm/2+minm/2)
|
|
);
|
|
|
|
while(v[guess] != x,
|
|
if(v[guess] < x, minm = guess + 1, maxm = guess - 1);
|
|
if(minm > maxm,
|
|
guess = 0;
|
|
break
|
|
);
|
|
guess = floor(maxm/2+minm/2)
|
|
);
|
|
|
|
return(guess);
|
|
}
|
|
|
|
idx = binarysearch([1,4,9,16,25,36,49,64,81,100,121,144], 121);
|
|
if(idx, \
|
|
print("Item exists on index ", idx), \
|
|
print("Item does not exist anywhere.") \
|
|
)
|