crank.c
来自「Numerical Recipes Software 提供的算法子程序集」· C语言 代码 · 共 25 行
C
25 行
void crank(n,w,s)
float *s,w[];
unsigned long n;
{
unsigned long j=1,ji,jt;
float t,rank;
*s=0.0;
while (j < n) {
if (w[j+1] != w[j]) {
w[j]=j;
++j;
} else {
for (jt=j+1;jt<=n && w[jt]==w[j];jt++);
rank=0.5*(j+jt-1);
for (ji=j;ji<=(jt-1);ji++) w[ji]=rank;
t=jt-j;
*s += t*t*t-t;
j=jt;
}
}
if (j == n) w[n]=n;
}
/* (C) Copr. 1986-92 Numerical Recipes Software . */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?