二分法查找原理
package chapter_01;
public class MidSearchSort {
public static void main(String[] args) {
int[] arr = {10,23,56,98,101,105,1024};
int index = searchSort(arr,23);
System.out.println(index == -1? "数组中没有该元素" :"数组的下标为" + index);
}
private static int searchSort(int[] arr, int i) {
int begin = 0;
int end = arr.length - 1;
//结束的条件(开始坐标大于结束坐标)
while (begin <= end){
//每次从中间砍掉一半
int mid = (begin + end) / 2;
if(arr[mid] == i){
return mid;
}
else if(arr[mid] < i){
begin = mid + 1;
}
else{
end = mid - 1;
}
}
return -1;
}
}