作业帮 > 综合 > 作业

C语言:int binsearch(int x,int v[],int n){\x09int low,high,mid;

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 05:44:32
C语言:
int binsearch(int x,int v[],int n)
{
\x09int low,high,mid;
\x09high=n-1;
\x09while(low
你的low不用赋值吗
再问: low=0;
忘写了
再答: 只循环一次?查找的目的就是进行多次循环直到查到,如果你真要只循环一次,就把x放在数组的中间,这样一次就找到,但是这样做好像不是查到的初衷吧!?
再问: 不是只循环一次,while循环语句内共执行了两次测试,其实只要一次就足够(代价是将更多的测试在循环外执行)
再答: 原谅我还是没完全明白你的意思,如果你只是想提高程序效率,可以这样改:
mid=(low+high)/2;
if(x==v[mid])
else return mid;
else if(x