js实现二分查找

来源:互联网 发布:头发多久洗一次 知乎 编辑:程序博客网 时间:2024/06/06 15:47
var binarySearch = function(dataArr, target, start, end) {    var middle;    //robustness,预防没有指定起始位置    if (start == null) {      start = 0;    }    if (end == null) {      end = dataArr.length - 1;    }    middle = parseInt((start + end) / 2);    //查找结束判定条件    if (middle === start || middle === end) {      return -1;    }    if (dataArr[middle] === target) {      return middle;    }    if (target < dataArr[middle]) {      return binarySearch(dataArr, target, 0, middle - 1);    } else {      return binarySearch(dataArr, target, middle + 1, end);    }  };
0 0
原创粉丝点击