这是我用C写的折半查找,折半查找和一些其他的排序如冒泡选择之类的你需要注意下边界条件就好了,代码不需要刻意去记的,只需要记住思想,多用一下就可以了- /*二分查找,a为递增序列*/
- int BinSearch(int a[],int n,int x)
- {
- int low=0,high = n-1,mid;
- while(low<=high)
- {
- mid = (low+high)/2;
- if (a[mid]==x)return mid;
- else if(a[mid]>x)high = mid-1; //即中间值大于x,在下半段
- else low = mid+1; //中间值小于x,在上半段
- }
- return -1;
- }
复制代码 |