这个视频挺不错的【bilibili链接】
int binary_search2(int* A, int n, int key)//二分查找
{
int left = -1, right = n;
while (left + 1 != right)
{
int mid = (left + right) / 2;
if (A[mid] <= key) {
left = mid;
}
else {
right = mid;
}
}
if (key == A[left]) {
return left;
}
else {
return -1;
}
}