scala中的二分查找
object BinarySearch {
def main(args: Array[String]) {
val arr1 = Array(2, 3, 4, 5, 6, 78, 411)
print("index:" + search(arr1, 4))
}
def search(arr: Array[Int], i: Int): Int = {
var min = 0
var max = arr.length - 1
while (min <= max) {
var mid = (min + max) / 2
if (i < arr(mid)) {
max = mid - 1
}
else if (i > arr(mid)) {
min = mid + 1
}
else {
return mid
}
}
return -1
}
}
scala中的二分查找
public class erfenchazhao{
public static void main (String[] args) {
int[] arr = {2, 3, 5, 1, 6, 4, 7, 8,9};
int index = getIndex(arr,7);
System.out.println(index);
}
public static int getIndex(int[] arr,int i){
int min=0;
int max=arr.length-1;
while (min<=max){
int mid=(min+max)/2;
if(i<arr[mid]){ max=mid-1;}
else if(i>arr[mid]){min=mid+1;}
else { return mid; }
}return -1;
}
}