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
|
|
|
}
|