12345678910111213141516171819202122 |
- #!/usr/bin/ruby
- #
- ## https://rosettacode.org/wiki/Binary_search
- #
- func binary_search(array, value, low, high) {
- high < low && return -1;
- var middle = (high+low / 2 -> int);
-
- if (value < array[middle]) {
- return binary_search(array, value, low, middle-1);
- }
- elsif (value > array[middle]) {
- return binary_search(array, value, middle+1, high);
- }
-
- return middle;
- }
- say binary_search(@(1..100), 23, 0, 99);
|