二分查詢法(二)
阿新 • • 發佈:2018-11-10
// 二分查詢
public static int helf() {
int a[] = { 21, 23, 30, 35, 36, 41, 42, 45, 55, 59, 72 };
int low = 0;
int num = 45;// 起點
int upper = a.length - 1; // 終點
int mid = (low + upper) / 2;
while (low <= upper) {// 避免出現下標越界異常
mid = (low + upper) / 2 ; // 中間點
if (a[mid] < num) { // 中間點的值小於要查詢的值
low = mid + 1; // 更改查詢的起點為中間點位置後一位
} else if (a[mid] > num) { // 中間點的值大於要查詢的值
upper = mid - 1; // 更改查詢的終點為中間點位置前一位
} else { // 中間點的值等於要查詢的值
return mid;
}
}
return -1;
}