bool Binary_search(int* list,int len , int item) {
int low = 0, high = len - 1;
int guess = 0;
while (low <= high) {
int mid = (high + low) / 2;
guess = list[mid];
if (item < guess) {
high = mid - 1;
}
else if (item > guess) {
low = mid + 1;
}
else if (item == guess) {
return true;
}
}
return false;
}```
int search(vector<int>& nums, int target) {
Bia_sear(0, nums.size() - 1, target, nums);
}
int Bia_sear(int low, int high, int target, vector<int>& nums) {
if (low > high) {
return -1;
}
int mid = (low + high) / 2;
int val = nums[mid];
if (val < target) {
return Bia_sear(mid + 1, high, target, nums);
}
else if (val > target) {
return Bia_sear(low, mid - 1, target, nums);
}
else {
return val;
}
}
待续。。。