1. 二分查找原理图
2. 分查找代码实现
public class BinarySearch {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = {11,22,33,44,44,55,55,66};
int index = binarySearch(arr,55);
System.out.println("index : " + index);
}
private static int binarySearch(int[] arr, int i) {
int min = 0;
int max = arr.length - 1;
int mid = (min + max)/2;
int index = -1;
while(min <= max) {
if(i == arr[mid]) {
index = mid;
break;
} else if(i > arr[mid]) {
min = mid + 1;
} else if (i < arr[mid]) {
max = mid - 1;
}
mid = (min + max)/2;
}
return index;
}
}
二分查找的前提是数组必须有序。