Tags:,,, Posted in Algorithm Leave a Comment

函数声明: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

本文链接: http://www.btbuzz.com/algorithm/107.html