二分查找
给定一个整数X和整数A1,A2,…,An,后者已经预先排序并在内存中,求使得Ai = X的下标i,如果X不在数据中,则返回 -1。
例:
A[6] = {2,3,4,6,7,8}; X =7; 则i=4。
实现代码如下
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;
}
return -1;
}