美文网首页
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