2019-06-14
代码实现
public class binarySearch {
public int binarySearch(int[] array,int key) {
int low = 0;
int high = array.length - 1;
while (low <= high) { //注意结束条件
int mid = (low + high) / 2;
if (array[mid] == key)
return mid;
else if (array[mid] > key)
high = mid - 1;
else
low = mid + 1;
}
return -1;
}
@Test
public void testFunction() {
int arr[] = {1, 3, 5, 7, 8, 9, 12, 14, 45, 67,89};
System.out.println(binarySearch(arr,67));
System.out.println(binarySearch(arr,3));
System.out.println(binarySearch(arr,89));
System.out.println(binarySearch(arr,100));
}
}
- 时间复杂度: O ( log n ) O(\log n) O(logn)