// 名 称: 二分查找法
// 作 者: 张光玲
// 版 本: 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;
}
二分法简单直观的核心
最新推荐文章于 2022-12-03 12:22:50 发布