C++实现二分搜索算法

//A为升序的数组,n为数组元素个数,x为要搜索的元素,函数返回元素的数组下标
int Search(int A[],int n,int x)
{
	int low = 0, high = n - 1;
	int mid;
	while (low <= high)
	{
		mid = (low + high) / 2;
		if (x == A[mid])
			return mid;
		if (x > A[mid])
			low = mid + 1;
		else high = mid - 1;//
	}
	return -1;//搜索失败,数组中无该元素
}

对于一个大小为n的排序数组,二分搜索算法执行的最大次数为⌊log n⌋+1,最小次数为1,可以将数组转化成决策树来理解

你可能感兴趣的:(学习记录)