hpsort.c
来自「< C语言数值算法程序大全>>配套程序」· C语言 代码 · 共 35 行
C
35 行
void hpsort(n,ra)
float ra[];
unsigned long n;
{
unsigned long i,ir,j,l;
float rra;
if (n < 2) return;
l=(n >> 1)+1;
ir=n;
for (;;) {
if (l > 1) {
rra=ra[--l];
} else {
rra=ra[ir];
ra[ir]=ra[1];
if (--ir == 1) {
ra[1]=rra;
break;
}
}
i=l;
j=l+l;
while (j <= ir) {
if (j < ir && ra[j] < ra[j+1]) j++;
if (rra < ra[j]) {
ra[i]=ra[j];
i=j;
j <<= 1;
} else j=ir+1;
}
ra[i]=rra;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?