您的位置:首页 > 编程语言 > C语言/C++

C语言中的择中,二分查找算法解析

2021-03-27 23:35 971 查看

Define:

从某种意义上讲就是执行一次把所剩下的下标(开头和结尾)/2得一个中间量,然后进行比较找到自己想要找到的数。这样的算法会让执行过程简洁N倍。  

写在前面: 我也只是个小白在博客上不断地锻炼自己,希望得到大家的喜欢,有什么问题我们共同交流,进步。

接下来我们举一个简单例子来表明我的思想。希望读者能够理解代码意思!!!!!!!

#include <stdio.h>
#include <string.h>
#include <Windows.h>
#include <stdlib.h>
int main()
{
int a,sz,left,right,mid;
int num[]={1,2,3,4,5,6,7,8,9,10};
printf ("Please enter a number:\n");
scanf ("%d",&a);
sz=sizeof(num)/sizeof(num[0])-1;                                             //计算数组个数
left=0;                                                                      //定义数组开始和结尾下标值
right=sz-1;
while (left<=right)                                                          //循环体循环,需要读者自己去领悟
{
mid=(left+right)/2;
if(num[mid]>a)
{
right=mid-1;
}

else if(num[mid]<a)
{
left=mid+1;
}
else
{
printf ("找到了,下标为:%d",mid);
break;
}
}
if(left>right)
{
printf ("不好意思没有找到\n");
}

return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: