首页 > 其他 > 详细

二分查找

时间:2017-10-17 10:55:11      阅读:215      评论:0      收藏:0      [点我收藏+]
#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[N]={ 1,2,3,5,6,7} ;
    scanf("%d",&x);
    printf("%d\n",f(a,0,N-1,x));
 
}<br><br>********************************************************<br><br><br>
#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[N]={ 1,2,3,5,6,7} ;
     scanf("%d",&x);
    printf("%d\n",f(a,0,N-1,x));
 
}

技术分享

 

二分查找

原文:http://www.cnblogs.com/wangprince2017/p/7680386.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!