16ibsh.c
来自「常用算法程序集(c语言描述) 第三版.rar」· C语言 代码 · 共 26 行
C
26 行
int ibsh(p,n,a,b,m)
int n,*m;
int a,b,p[];
{ int i,j,k;
i=1; j=n;
while (i<=j)
{ k=(i+j)/2;
if ((p[k-1]>=a)&&(p[k-1]<=b))
{ i=k-1; j=0;
while ((i>=0)&&(p[i]>=a))
{ i=i-1; j=j+1;}
i=i+1;
while ((k<=n-1)&&(p[k]<=b))
{ k=k+1; j=j+1;}
*m=j; return(i);
}
if (p[k-1]>b) j=k-1;
else i=k+1;
}
while ((i>=0)&&(b<p[i])) i=i-1;
i=i+1; *m=0;
return(i);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?