函数声明:BinarySearch(int *array, int lower, int upper, int target);
二分法查找的迭代方法
代码:
int BinarySearch(int *array, int lower, int upper, int target)
{
int middle;
if(lower > upper)
return -2;
while(lower <= upper)
{
middle = (lower + upper) / 2;
if(array[middle] < target){
lower = middle + 1;
}else if(array[middle] > target){
upper = middle - 1;
}else{
return middle;
}
}
return -1;
}
返回-1表示没有找到,返回-2表示错误,否则返回索引值,索引值最小为0。
June 29, 2011
原创文章转载请注明出处:BtBuzz的blog