面试过程中经常遇到手写代码的情况,尤其像二分查找这种很重要的一种算法。
下面整理其实现代码,以供参考。
int search_binary(int a[], int length, int value)
{
int low=0;
int high=length-1;
int mid;
while (low<=high)
{
mid=(low+high)/2;
if (a[mid] == value) return mid;
if (a[mid]>value)
{
high=mid-1
}
else
{
low=mid+1
}
}
return -1;
}