September 2017 Update

This commit is contained in:
Ingy döt Net 2017-09-23 10:01:46 +02:00
parent bba7bfd280
commit ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions

View file

@ -1,13 +1,16 @@
func binary_search(arr, value, low=0, high=arr.end) {
high < low && return -1;
var middle = (high+low / 2 -> int);
high < low && return -1
var middle = ((high+low) // 2)
if (value < arr[middle]) {
return binary_search(arr, value, low, middle-1);
given (arr[middle]) { |item|
case (value < item) {
binary_search(arr, value, low, middle-1)
}
case (value > item) {
binary_search(arr, value, middle+1, high)
}
case (value == item) {
middle
}
}
elsif (value > arr[middle]) {
return binary_search(arr, value, middle+1, high);
}
return middle;
}