#include<stdio.h>
//结合递归实现二分查找
int fun(int k[],int a,int b,int key)
{
int m;
if(a>b)
{
return -1;
}
else
{
m=(a+b)/2;
if(key==k[m])
{
return m;
}
else if(key>k[m])
{
return fun(k,m+1,b,key);//递归
}
else
{
return fun(k,a,m-1,key);//递归
}
}
}
int main()
{
int k[]={1,2,3,4,5,6,7,8,9,10};//有序的
int index = fun(k,0,9,10);
printf("index=%d\n",index);
return 0;
}
结合递归实现二分查找
最新推荐文章于 2023-01-04 16:10:45 发布