📄 binsearch.cpp
字号:
////
#include<stdio.h>
#include "binsearch.h"
int binsearch(sqtable R,float K,float AD)//二分查找法
{
int low=0,mid,hig=R.n;//置查找区间初值
float H;
while(low<=hig)//区间长度不为0时继续查找
{
mid=(low+hig)/2;//找出区的中间位置
H = K-R.item[mid].key;
if(H > 0)
{
H = H;
}
else
{
H = -H;
}
if(H<= AD && H >= -AD)
{
return mid;//找到则返回位置MID
}
else if(K<R.item[mid].key)
{
hig=mid-1;//缩小区间
}
else
{
low=mid+1;//缩小区间
}
}
return 0;
}
void main()
{
int i;
sqtable a;
for(i=0;i<MAX;i++)//初始化查找表
{
//scanf("%d",&(a.item[i].key));
a.item[i].key = i/(MAX - 1.0f);
}
for(i=0;i<MAX;i++)
printf("Item%d is %f\n", i, a.item[i].key);
a.n=MAX-1;
printf("Result is %d\n",binsearch(a,0.34,0.0101));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -