1. 程式人生 > >二分查詢法(二)

二分查詢法(二)

// 二分查詢
    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; }