2013-04-10 12:38:42 -07:00
|
|
|
function binary_search_iterative(a, value) {
|
2015-11-18 06:14:39 +00:00
|
|
|
var mid, lo = 0,
|
|
|
|
|
hi = a.length - 1;
|
|
|
|
|
|
|
|
|
|
while (lo <= hi) {
|
|
|
|
|
mid = Math.floor((lo + hi) / 2);
|
|
|
|
|
|
|
|
|
|
if (a[mid] > value) {
|
|
|
|
|
hi = mid - 1;
|
|
|
|
|
} else if (a[mid] < value) {
|
|
|
|
|
lo = mid + 1;
|
|
|
|
|
} else {
|
|
|
|
|
return mid;
|
2013-04-10 12:38:42 -07:00
|
|
|
}
|
2015-11-18 06:14:39 +00:00
|
|
|
}
|
|
|
|
|
return null;
|
2013-04-10 12:38:42 -07:00
|
|
|
}
|