1. 程式人生 > >基於有序陣列的二分查詢--java程式碼實現

基於有序陣列的二分查詢--java程式碼實現

基於有序陣列的二分查詢–java程式碼實現

有序陣列的java程式碼實現,其中有序陣列可能是兩段子有序陣列,如{7,9,2,4,5}:

程式碼塊

public class FindArrayIndexWithTarget {
    public static int find(int a[], int target)
    {
        if (null == a)
            return -1;
        int low, high;
        low = 0;
        high = a.length-1;

        int mid
= 0; while(low < high) { mid = (low + high)/2; if (a[mid] > target) { if (a[low] > target) { low = mid + 1; } else { high = mid - 1; } } else
if (a[mid] < target) { if (a[high] < target) { high = mid - 1; } else { low = mid + 1; } } else { return mid; } } if (a[low] == target) return
low; return -1; } }