代码如下
#include<iostream>
using namespace std;
int Binary_Search(int arr[], int left, int right, int goal) {
if (left >= right)return -1;
while (left <= right) {//运行到最后左右两个指针可能相等, 因此设置left=right继续运行一次找到数据
int mid = (left + right) >> 1;
if (goal == arr[mid]) { return mid; }
if (goal < arr[mid]) {
right = mid - 1;
}
if (goal > arr[mid]) {
left = mid + 1;
}
}
return -1;
}
int main() {
int arr[12] = { 1,3,5,7,9,24,25,46,78,79,80,99 };
Binary_Search(arr, 0, 11, 99);
}

被折叠的 条评论
为什么被折叠?



