您的位置:首页 > 其它

二分查找

2013-12-23 22:47 218 查看
#include <stdio.h>
#define N 6
int f(int a[],int low,int high,int x)
{
int mid =(low+high)/2 ;
if (low>high)      return -1 ;
else     if (a[mid]==x)     return mid ;
else     if (a[mid]>x )     return  f(a,low,mid-1,x);
else            return  f(a,mid+1, high,x);

}
int main ( )
{

int x, a
={ 1,2,3,5,6,7} ;
scanf("%d",&x);
printf("%d\n",f(a,0,N-1,x));

}

********************************************************


#include <stdio.h>
#define N 6
int f(int a[],int low,int high,int x)
{
int mid =(low+high)/2 ;
if(low>high)      return -1 ;
if(a[mid]==x)     return mid ;
if(a[mid]>x)    return  f(a,low,mid-1,x);
else            return  f(a,mid+1, high,x);

}
int main ( )
{

int x, a
={ 1,2,3,5,6,7} ;
scanf("%d",&x);
printf("%d\n",f(a,0,N-1,x));

}


  





  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: