编辑代码

#include<iostream>
using namespace std;
int binarySearchRecurse(int searchKey, int array[], int low, int high)
{
    int keyPos = -1;
    if(low <= high)
	{
        int mid = low +((high - low + 1) >> 1);
        if(searchKey == array[mid])
		{
            keyPos = mid;
        }
        else if(searchKey > array[mid])
		{
            keyPos = binarySearchRecurse(searchKey, array, mid + 1, high);
        }
        else
		{
            keyPos = binarySearchRecurse(searchKey, array, low, mid - 1);

        }
    }
    return keyPos;
}
int searchSortedArrayRecurse(int searchKey, int *array, int arrLen)
{
   int low=0;
   int high=arrLen - 1;
   int keyPos=binarySearchRecurse(searchKey, array, low, high);
   return keyPos;
}
void printArray(int array[], int arrLen)
{
    for(int i=0;i < arrLen;++i)
	{
        cout << array[i] << " ";
    }
    cout << endl;
}
int main()
{
	int a[]={1,2,3,4,6,7,8};
	int arrayLen=sizeof(a)/sizeof(int);
	printArray(a, arrayLen);
	cout<<"7的位置为:"<<searchSortedArrayRecurse(7,a,arrayLen)<<endl;
	return 0;
}