美文网首页
C语言-二分查找

C语言-二分查找

作者: 广陵周惊蛰 | 来源:发表于2020-01-10 09:45 被阅读0次

    问题描述:二分查找

    源代码:

    /*二分查找*/
    #include<stdio.h>
    int Bsearch(int *p,int n,int x);
    int main(void)
    {
        int a[10]={1,2,3,4,5,6,7,8,9,10};
        int x,m;
        
        printf("Enter x:");
        scanf("%d",&x);
        m=Bsearch(a,10,x);
        if(m>=0)
            printf("Index is %d\n",m);
        else
            printf("Not Found\n");
        return 0;
     } 
     
     int Bsearch(int *p,int n,int x)
     {
        int low,high,mid;
        low=0;high=n-1;
        while(low<=high){
            mid=(low+high)/2;
            if(x==p[mid])
                break;
            else if(x<p[mid])
                high=mid-1;
            else
                low=mid+1;
         }
         if(low<=high)
            return mid;
        else
            return -1;
     }
    

    运行结果:

    二分查找

    程序参数:

    • 输出大小: 149.5244140625 KiB
    • 编译时间: 0.36s

    相关文章

      网友评论

          本文标题:C语言-二分查找

          本文链接:https://www.haomeiwen.com/subject/ttjuactx.html