#include <iostream>
using namespace std;
int find(int a[],int left,int key,int right);
int main(void)
{
int num[]={1,2,3,4,5,6,7,8,9,10};
int index = find(num,0,10,10);
printf("%d\n",index);
system("pause");
return 0;
}
int find(int a[],int left,int key,int right)
{
int mid;
mid = (left+right-1)/2;
if(left>right)
return -1;
if(a[mid]==key)
return mid;
if(a[mid]<key)
return find(a,left=mid+1,key,right);
if(a[mid]>key)
return find(a,left,key,right=mid-1);
}
递归二分法的实现
最新推荐文章于 2020-12-09 12:19:31 发布