用Java实现二分查找代码实现
直接上代码`
```java
package day05.BigDecimal;
public class MyInterger04 {
public static void main(String[] args) {
int [] arr = {1,2,3,4,5,6,7,8,9};
int num = 5;
int index = MyIntergerIndex(arr,num);
System.out.println(index);
}
private static int MyIntergerIndex(int[] arr, int num) {
// 设置最小索引
int min = 0;
// 设置最大索引
int max = arr.length;
// 进行二分查找
while (min <= max){
int mid = (max + min) / 2; // 设置mid
if (arr[mid] > num ) {
max = mid - 1; // 确定中间的变量
} else if(arr[mid] < num){
min = min + 1;
}else {
return mid;
}
}
// 如果min大于max则说明该元素在该数组中不存在返回 - 1
return -1;
}
}
思考解释:
二分查找是建立在一个必须是从大到小或者是从小到大的一组数组中,拿到一个数组确定数组的最大索引,以及最小索引位置。中间的变量值通过最大索引减去最小索引在同时除以他们的个数,来进行确认的,如果你的那个索引小于中间的索引就给最小的索引加1,如果你的那个索引大于中间的索引就给最小的索引减1,通过缩小划分范围来进行找。
##