RosettaCodeData/Task/Binary-search/Sidef/binary-search-1.sidef

15 lines
239 B
Text
Raw Permalink Normal View History

2016-12-05 23:44:36 +01:00
func binary_search(a, i) {
2017-09-23 10:01:46 +02:00
var l = 0
var h = a.end
2016-12-05 23:44:36 +01:00
while (l <= h) {
2017-09-23 10:01:46 +02:00
var mid = (h+l / 2 -> int)
a[mid] > i && (h = mid-1; next)
a[mid] < i && (l = mid+1; next)
return mid
2016-12-05 23:44:36 +01:00
}
2017-09-23 10:01:46 +02:00
return -1
2016-12-05 23:44:36 +01:00
}