为了账号安全,请及时绑定邮箱和手机立即绑定

下面是jquery二分法实现查找的方法,需要修改代码中的问题,并写出result的值。求大神指教

下面是jquery二分法实现查找的方法,需要修改代码中的问题,并写出result的值。求大神指教

玉枫 2018-05-09 14:33:04
fun(arr, low, high, key){                 if(low > high){                         return -1;                 }                 var mid = (high + low)/2;                 if( arr[mid] == key){                         return mid;                 }else if( arr[mid] > key ){                         high = mid - 1;                         return fun(arr, low, high, key);                 }else if( arr[mid] < key ){                         high = mid + 1;                         return fun(arr, low, high, key);                 }         } var arr = [1,2,3,4,5,6,7,8,9,10,11,23,44,86]; var result = fun(arr, 0, 44, 10); alert(result);
查看完整描述

1 回答

已采纳
?
Caballarii

TA贡献1123条经验 获得超629个赞

function fun(arr, low, high, key){
  if(low > high){
    return -1;
  }
  var mid = (high + low)/2;
  if( arr[mid] == key){
    return mid;
  }else if( arr[mid] > key ){
    high = mid - 1;
    return fun(arr, low, high, key);
  }else if( arr[mid] < key ){
    low = mid + 1;
    return fun(arr, low, high, key);
  }
}

var arr = [1,2,3,4,5,6,7,8,9,10,11,23,44,86];
var result = fun(arr, 0, arr.length, 10);
alert(result);


查看完整回答
反对 回复 2018-05-09
  • 玉枫
    玉枫
    这样是为什么
  • Caballarii
    Caballarii
    自己去对照和我写的有什么不一样,然后想呗
  • 玉枫
    玉枫
    主要是不明白函数什么用处?为什么要这样写?对二分法没有什么认识
点击展开后面1
  • 1 回答
  • 0 关注
  • 1021 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信