利用二分查找有序数组中是否存在某个元素
package com.etime01;
public class Test06 {
public static void main(String[] args) {
int[] array = {4,6,7,9,15,20,35,40};
binarySearch(array,9);
}
public static void binarySearch(int[] array,int k) {
int max = array.length - 1;
int min = 0;
int mid = (min + max) / 2;
boolean b = false;
for (int i = 0; i < array.length; i++) {
if (array[i] == k) {
b = true;
break;
} else {
b = false;
}
}
if (b) {
while (k != array[mid]) {
if (array[mid] > k) {
max = mid - 1;
mid = (max + min) / 2;
} else {
min = mid + 1;
mid = (max + min) / 2;
}
}
System.out.println(array[mid]);
} else {
System.out.println("数组中没有" + k);
}
}
}