public class Main {
/**
* 二分查找
*/
public static void main(String[] args) {
int[] arr={1,2,3,4,5,6,7,8,9};
int a=binarySerach(arr,2);
System.out.println(a);
}
private static int binarySerach(int[] arr, int i) {
//定义两个指针
int left=0;
int right=arr.length;
int middle=0;
while (left<=right){
middle=(left+right)/2;
//拿当前元素与中间元素比较
if (arr[middle]<i){
left=middle+1;
}else if (arr[middle]>i){
right=middle-1;
}else {
return middle;
}
}
return -1;
}
}
二分查找代码实现
最新推荐文章于 2024-07-12 15:51:39 发布