二分法封装版

  二分法的封装版;  dichotomy(参数一,参数二) 方法

  参数一:必填:需要查找的参数;

  参数一:必填:在哪个数组中查找;

  案例:  

  var arr=[12,32,26,5,98,54,51,54,69,75,49];

  dichotomy(12,arr);  //在arr的数组中 查找有没有12这个数字;

  须将下面的函数放进去:

  function dichotomy(find,arr){
    arr.sort(function(a,b){
      
if(a>b){

        return 1;

      }

      else if(a==b){

        return 0;

      }

      else{

        return -1;

      }

    })
    var start=0;end=arr.length;
    var middle=Math.floor((start+end)/2);
    while(start!==middle&&end!==middle){
      if(arr[middle]>find){
        end=middle;
      }
      else if(arr[middle]<find){
        start=middle;
      }
      else if(arr[middle]==find){
        break;
      }
      middle=Math.floor((start+end)/2);
    }
    if(arr[middle]==find){
      document.write("找到了");
    }
    else{
      document.write("没找到");
    }
  }

原文地址:https://www.cnblogs.com/shangjun6/p/10731856.html