当前位置:   article > 正文

二分查找_0-100 有序存在数组 随机抽取一个 什么算法获取这个数字所在位置

0-100 有序存在数组 随机抽取一个 什么算法获取这个数字所在位置

二分查找适用于有序的序列
列如:[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;
}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/977643
推荐阅读
相关标签
  

闽ICP备14008679号