87,907
社区成员
发帖
与我相关
我的任务
分享
var data = [3, 6, 10, 11, 15, 16, 18, 20, 26];
var mid = 0;
function binarySearch(data, x, low, high) {
mid = parseInt((high + low) / 2);
if (data[high] < data[low] || data[low] > data[high] || low > high)
return -1;
if (data[mid] > x)
binarySearch(data, x, low, mid - 1);
else if (data[mid] < x)
binarySearch(data, x, mid + 1, high);
else {
console.log(mid);
console.log(data[1]);
console.log(data[mid]);
return data[mid];
}
}
var num = binarySearch(data, 6, 0, data.length);
console.log(mid);
console.log(num);
var data = [3, 6, 10, 11, 15, 16, 18, 20, 26];
var mid = 0;
function binarySearch(data, x, low, high) {
mid = parseInt((high + low) / 2);
if (data[high] < data[low] || data[low] > data[high] || low > high)
return -1;
if (data[mid] > x)
binarySearch(data, x, low, mid - 1);
else if (data[mid] < x)
binarySearch(data, x, mid + 1, high);
else {
console.log(mid);
console.log(data[1]);
console.log(data[mid]);
return data[mid];
}
console.log('最后执行')
return '最后返回'
}
var num = binarySearch(data, 6, 0, data.length);
console.log(mid);
console.log(num);
你试下吧,最后执行的代码