locate.c
来自「Numerical Recipes Software 提供的算法子程序集」· C语言 代码 · 共 23 行
C
23 行
void locate(xx,n,x,j)
float x,xx[];
unsigned long *j,n;
{
unsigned long ju,jm,jl;
int ascnd;
jl=0;
ju=n+1;
ascnd=(xx[n] >= xx[1]);
while (ju-jl > 1) {
jm=(ju+jl) >> 1;
if (x >= xx[jm] == ascnd)
jl=jm;
else
ju=jm;
}
if (x == xx[1]) *j=1;
else if(x == xx[n]) *j=n-1;
else *j=jl;
}
/* (C) Copr. 1986-92 Numerical Recipes Software . */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?