对分查找(Binary Search)----C 语言学习
时间:2010-10-24 来源:涅槃的猫
给定一个整数 X 和整数
,后者已经预先排序,并且已经在内存中,求使得
的下标 i ,如果 X 不在数据之中,则返回 i = -1。
来看看实现源码:
int BinarySearch(const int A[], int X, int N)
{
int Low, Mid, High;
Low = 0; High = N - 1;
while(Low <= High)
{
Mid = (Low + High) / 2;
if(A[Mid] < X)
Low = Mid + 1;
else if(A[Mid] > X)
High = Mid - 1;
else
return Mid; /*Found*/
}
return -1;/*Not Found: Return -1*/
}
这里要注意的是:作为参数的数组 A,在调用函数 BinarySearch 的时候,已经经过了一次排序。
相关阅读 更多 +










