java二分查詢
阿新 • • 發佈:2018-12-09
描述:
適用於 有序的 順序表
程式碼:
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; }