二分查找

本文详细介绍了二分查找算法在有序序列中的应用,通过具体示例讲解了如何在一个包含100个整数的数组中查找特定数值。文章通过定义数组、设定查找范围并迭代缩小搜索区间来实现高效查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二分查找适用于有序的序列
列如:[0,100) 我们要要找到10的位置,这里我们只考虑区间里的整数共有100个数
我们要找到10,我们先定义一个num[100]的数组,给该数组中的每个元素都附上100个数每个数所代表的值
int setx()
{
for(int i=0;i<100;i++)
{
num[i]=i;
}
}
接下来可以进行查找先找到0-100的中间值即mid=(0+100)/2;所以num[50]为下标为50的权值,即中间权值判断我们需要的10和num[50]相同不相同,不相同我们需要看10与num[50]的比较小于,所以我们以50为上边界,如果大于,则以50做下边界
int findx(int x,int under,int on)
{
int mid=(under+on)/2;
while(x!=num[mid[)
{ if(x<num[mid])
on=mid;
else
under=mid;
mid=(on+under)/2;
}
return mid;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值