二分搜索、折半搜索

public class BinarySearch
{

    public static void main(String[] args)
    {
        int[] arr = new int[]{1,2,3,4,5};
        int key = 1;
        serach(arr, key);
    }

    
    public static int serach(int[] arr, int key)
    {
        int low = 0;
        int high = arr.length-1;
        int mid = (low + high)/2;
        
        while(low <= high)
        {
            mid = (low + high)/2;
            
            if(key == arr[mid])
            {
                return mid;
            }
            
            if(key < arr[mid])
            {
                high = mid - 1;
            }
            else 
            {
                low = mid + 1;
            }
        }
        
        return -1;
    }
}

 

你可能感兴趣的:(搜索)