基於有序陣列的二分查詢--java程式碼實現
阿新 • • 發佈:2019-01-03
基於有序陣列的二分查詢–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;
}
}