二分查找:折半查找,查找的内容必须是有序的。
给定一批排序好的数组。
int numbers[] = {1,3,4,6,8,9,10,23,45}
public static int binarySearch(int[] numbers, int lowPos, int highPos, int aidNum){
if(lowPos <0 || highPos > numbers.length-1 || lowPos>highPos){
return -1;
}
int mid = (lowPos + highPos)/2;
if(numbers[mid] > aidNum){
return binarySearch(numbers, lowPos, mid-1, aidNum);
}else if(numbers[mid] < aidNum){
return binarySearch(numbers, mid+1, highPos, aidNum);
}
return mid;
}
二分查找
最新推荐文章于 2024-05-16 08:53:55 发布