二分法查找(BinarySearch)
当数据量很大适宜采用该方法。采用二分法查找时,数据需是有序的。
public static int myBinarySearch(int[] arr,int value) {
int low = 0;
int high = arr.length - 1;
while(low <= high) {
int mid = (low+high)/2;
if(value == arr[mid])
return mid;
else if(value > arr[mid])
low = mid + 1;
else
high = mid - 1;
}
return -1;
}
public static void main(String[] args) {
int[] arr= {30,20,50,10,80,9,7,12,100,40,8};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
System.out.println(myBinarySearch(arr,40));
}