适用于内部元素有序的数组
/*查找升序数组*/
public static int findIndex(int[] arr,int x){
int start = 0;
int end = arr.length-1;
int middle = 0;
//数组长度为0 或 当前数大于数组中最大数 || 或当前数小于数组中最小数
if(start>end || x>arr[end] || x<arr[start]){
return -1;
}
while(start<=end){
middle = (end+start)/2;
if(x>arr[middle]){
start = middle+1;
}else if(x<arr[middle]){
end = middle-1;
}else{
return -1;
}
}
return -1;
}