RosettaCodeData/Task/Binary-search/APL/binary-search.apl

10 lines
542 B
APL
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
binsrch{
⎕IO({ ⍝ first lower bound is start of array
<: ⍝ if high < low, we didn't find it
mid(+)÷2 ⍝ calculate mid point
[mid]>:mid-1 ⍝ if too high, search from to mid-1
[mid]<:(mid+1) ⍝ if too low, search from mid+1 to ⍵
mid ⍝ otherwise, we did find it
})⎕IO+()-1 ⍝ first higher bound is top of array
}