二分法简单直观的核心


// 名    称:  二分查找法                                       
// 作    者:  张光玲                              
// 版    本:  1.0.0                                               
// 日    期:  2017-11-29                                      
// 功能描述:  二分查找法(最简单直接)



#include<stdio.h>

int main(){
    int arg[10],i,j,x,m;
    for(i=0;i<10;i) 
        arg[i++]=i+1;
    scanf("%d",&x);

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓注意:这是核心代码↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    //m=中间数组下标;i=数组首部下标‘j=数组尾部下标
    //判断:只会是3个中的一个,等于、大于、小于
    for (i = 0, j = 9, m = (i + j) / 2; i < j; m = (i + j) / 2) {
        if (x<arg[m])       //如果 x<arg[m],则需要在前半部分数组里查找
            j=m-1;          
        else if (x>arg[m])  //如果 x>arg[m],则需要在后半部分数组里查找
            i=m+1;
        else break;          //否则 x=arg[m],则终止循环
    }

    if(i>j)                             //如果 i>j,则说明匹配失败
        printf("没有找到\n");
    else printf("找到了;%d\n",arg[m]);   //否则 i<=j,则说明匹配成功
/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑注意:这是核心代码↑↑↑↑↑↑↑↑↑↑↑↑*/

    return 0;
}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值