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

10 lines
542 B
APL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}