int BinarySearch(int a[],int nLow,int nHigh,int k){ //实现非递归的折半查找 //输入:一个升序数组a[nLow...nHigh]和查找键k //输出:一个数组元素的下标,该元素等于k;如果没有这样一个元素,则返回-1 int l=nLow,r=nHigh,mid; while (l<=r) { mid=(l+r)/2; if (k==a[mid])return mid; else if(k<a[mid]) r=mid-1; else l=mid+1; } return -1; } int BinarySearchRecur(int a[],int nLow,int nHigh,int k){ //实现递归的折半查找 //输入:一个升序数组a[nLow...nHigh]和查找键k //输出:一个数组元素的下标,该元素等于k;如果没有这样一个元素,则返回-1 if (nLow>nHigh) return -1; else { int mid=(nLow+nHigh)/2; if (k==a[mid]) return mid; else if (k<a[mid]) return BinarySearchRecur(a,nLow,mid-1,k); else return BinarySearchRecur(a,mid+1,nHigh,k); } }