1.查找小於等於
int BinarySearch(int value, int left, int right){
right +=1;
while(left < right){
cout<< left << " " << right <<endl;
int mid = (left + right) >> 1;
if (value == numbers[mid]){
return mid;
}else if (numbers[mid] < value){
left = mid + 1;
}else if (value < numbers[mid]){
right = mid;
}
}
return left - 1;
}
1.查找大於等於
int BinarySearch(int value, int left, int right){
right +=1;
while(left < right){
cout<< left << " " << right <<endl;
int mid = (left + right) >> 1;
if (value == numbers[mid]){
return mid;
}else if (numbers[mid] < value){
left = mid + 1;
}else if (value < numbers[mid]){
right = mid;
}
}
return left;
}