Scala中的二分查找法

def binarySerch(lines:Array[(Long,Long,String)],ip:Long):Int = {
  var low = 0
  var high = lines.length-1
  while (low <= high){
    val middle = (low+high)/2
    if((ip >= lines(middle)._1) && (ip <= lines(middle)._2))
      return middle
    if (ip < lines(middle)._1)
      high = middle - 1
    if(ip > lines(middle)._2)
      low = middle + 1
  }
  -1
}

猜你喜欢

转载自blog.csdn.net/Lwj879525930/article/details/82193473