object BinarySearch {
def main(args: Array[String]): Unit = {
val arr = Array(1, 2, 3, 10, 100, 19999, -1998, 9, 234, 234, 9, 43).sorted
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
}
}
MyUtil:二分查找法(Scala)
最新推荐文章于 2024-12-11 10:57:22 发布
博客主要围绕Scala语言实现二分查找法展开。二分查找法是一种高效的查找算法,在Scala中实现该算法可用于快速定位数据。这体现了Scala在算法实现方面的应用,有助于提升查找效率。
504

被折叠的 条评论
为什么被折叠?



