java二分查找算法代码

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

package wzs.seek;
 
/**
 * 二分查找
 * @author wWX154783
 *
 */
public class Test_wzs002
{
    public static void main(String[] args)
    {
        int[] intArray =
        {
                0, 1, 2, 3, 4, 5, 6, 7, 8, 9
        };
        int result = separateSearch(intArray, 7);
        System.out.println("要查找的数字为下标为:" + result);
    }
 
    /**
     * 二分查找
     * @param intArray 需要查找的数组
     * @param number 需要查找的数字
     */
    static int separateSearch(int[] intArray, int number)
    {
        int left = 0;
        int right = intArray.length - 1;
        while (left <= right)
        {
            int middle = left + ((right - left) >> 1);
            if (number == intArray[middle])
            {
                return middle;
            }
            else if (number < intArray[middle])
            {
                right = middle - 1;
            }
            else
            {
                left = middle + 1;
            }
        }
        return -1;
    }
}