1. 程式人生 > >java二分查詢

java二分查詢

描述:

適用於      有序的       順序表

程式碼:

	public static int binarySearch(Integer[] srcArray, int des) {
	    //定義初始最小、最大索引
	    int low = 0;
	    int high = srcArray.length - 1;
	    //確保不會出現重複查詢,越界
	    while (low <= high) {
	    	
	        //計算出中間索引值
	        int middle = (high + low)>>>1 ;//防止溢位
	        
	        if (des == srcArray[middle]) {
	            return middle;
	        //判斷下限
	        } else if (des < srcArray[middle]) {
	            high = middle - 1;
	        //判斷上限
	        } else {
	            low = middle + 1;
	        }
	    }
	    //若沒有,則返回-1
	    return -1;
	}