在 C 上的二进制搜索代码中有一些我没有得到的东西。
int binarySearch(int a[], int n, int x)
{
int low=0, mid, high=n-1;
while(low <= high)
{
mid = (low + high) / 2;
if (x < a[mid])
high = mid - 1;
else if (x > a[mid])
low = mid + 1;
else
return mid;
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
为什么while循环while(left<=right)不能写:
while(left<right)?这种变化会影响事情吗?