/**
* @author:肖佳嘉
*
*/
package array_test;
public class array_test {
public static void main(String[] args) {
int [ ] arr = {11,22,33,44,55,66,77,88}; //定义一个数组
System.out.print(arrayserch(arr, 11)+" "); //输出测试
System.out.print(arrayserch(arr, 77)+" ");
System.out.print(arrayserch(arr, 99)+" ");
}
public static int arrayserch(int [ ] arr ,int value){
int min=0; //索引最小值
int max=arr.length-1; //索引最大值
int mid=(min+max)/2; //索引中间值
while(arr[mid]!=value){ //当中间值不等于查找值的时候进入循环
if(arr[mid]>value) {
max=mid-1;
}else if(arr[mid]<value) {
min=mid+1;
}
mid=(min+max)/2;
if(min>max) {
return -1; //当索引不在数组中的时候,返回-1
}
}
return mid;
}
}
//结果输出: 0 6 -1