A . int binarySearch(int a[], int n, int x)
{ int low=0, high=n-1;
while(low<=high)
{ int mid=(low+high)/2;
if(x==a[mid]) return mid;
if(x>a[mid]) low=mid;
else high=mid;
}
return –1;
}B . int binarySearch(int a[], int n, int x)
{ int low=0, high=n-1;
while(low+1!=high)
{ int mid=(low+high)/2;
if(x>=a[mid]) low=mid;
else high=mid;
}
if(x==a[low]) return low;
else return –1;
}C . int binarySearch (int a[], int n, int x)
{ int low=0, high=n-1;
while(low
{ int mid=(low+high)/2; 算法设计 22
if(xhigh=mid;
else low=mid;
}
if(x==a[low]) return low;
else return –1;
}D . int binarySearch(int a[], int n, int x)
{ if(n > 0 && x >= a[0])
{ int low = 0, high = n-1;
while(low < high)
{ int mid=(low+high+1)/2;
if(x < a[mid])
high=mid-1;
else low=mid;
}
if(x==a[low]) return low;
}
return –1;
}