public class ZheBan {
publicstatic void main(String[] args) {
int[] nums = {1, 2, 3, 4, 5, 7};
System.out.println("二分/折半查找到所在的数组下标:\n" + find(nums, 5));
//find (expr1,expr2)expr2不能超过数组的最后一个数组下标值
}
privatestatic int find(int[] nums, int findNum) {
int low = 0;
int high = nums.length;
while (low <= high) {
int mid = (low + high) / 2;
if (nums[mid] == findNum) {
return mid;
} else if (nums[mid] > findNum) {
high = mid - 1;
} else if (nums[mid] < findNum) {
low = mid + 1;
} else {
return -1;
}
}
return -1;
}
}