package algorithm//返回查找到的数据的索引下标  BinarySearch  {  def main(args: Array[String]): Unit = {    val arr = Array(1, 2, 3, 10, 100, 19999, -1998, 9, 234, 234, 9, 43)    val index = Binarysearch(arr, 100)    println("the found value is  " + index)  }  def Binarysearch(arr:Array[Int], value:Int):Int={    var left = 0    var right = arr.size - 1    while (left <= right){      var mid = left + ((right - left)>>1)  // 防止溢出, 并且移位操作更高效      println(s"left:  $left  right : $right  mid: $mid")      if(arr(mid)> value){        right = mid -1      }else if(arr(mid) < value){        left = mid +1      }else{        return  mid               //注意 添加return, scala中只有最后一行才是作为返回值      }    }    -1  }}
收藏 打印