二分查找思想:
能进行二分查找的一定是一个有序的空间!
mid=(left+right)/2,如果,目标值大于下标为mid的值,则应将mid的值赋给left
若,目标值小于下标为mid的值,则应将mid的值赋给right;
若,目标值刚好和下标为mid的值相等,则返回mid。
public class Excipise1112{
public static int binarySearch(int[] arr,int v){
int left=0;
int right=arr.length-1;
while(left<=right){
int mid=(left+right)/2;
if(arr[mid]==v){
return mid;
}else if(arr[mid]>v){
right=mid-1;
}else {
left = mid + 1;
}
}
return -1;
}
public static void main(String[] args){
int[] arr={0,1,2,3,4,5,6,7,8,9};
System.out.println("v的下标是: "+ binarySearch(arr,3));
}
}

版权声明:本文为qq_44847147原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
