思路
1、定义两个变量,low和high。分别代表查找的最小索引位置和最大索引位置。
2、将数组int A[ ]进行从小到大的排序,取数组中间位置的值A[mid]。如果想要查找的数值等于中间位置的值,则直接返回;如果小于则low=mid+1;如果大于则high=mid-1。
代码实现
int A[]={10,30,20,60,40,50,70,80};
public int test(int A[],int value){
Array.sort(A);//Array是java提供的一个工具类,sort是其中一个方法,对数组进行从小到大的排序。
int low = 0;
int high = A.lenght-1;
int mid = (low+high)/2;
while(low<=high){
if(value==A[mid]){
return mid;
}
if(value<A[mid]){
high = mid-1;
}
if(value>A[mid]){
low = mid+1;
}
}
}