public class 二分查找 {
/**
* @param args
*/
public static void main(String[] args) {
int nums[] = { 12, 30, 333, 1154, 1822 };
int x = 1822;
System.out.println("位置在" + find(x, nums));
}
public static int find(int x, int nums[]) {
int left = 0;
int right = nums.length - 1;
while (left <= right) {
int mid = (left + right) >>> 1;
if (x < nums[mid]) {
right = mid - 1;
}
else if (x > nums[mid]) {
left = mid + 1;
}
else if (x == nums[mid]) {
return mid;
}
}
return -1;
}
}