shell.cpp
来自「Numerical recipes in C++」· C++ 代码 · 共 27 行
CPP
27 行
#include "nr.h"
void NR::shell(const int m, Vec_IO_DP &a)
{
int i,j,inc;
DP v;
inc=1;
do {
inc *= 3;
inc++;
} while (inc <= m);
do {
inc /= 3;
for (i=inc;i<m;i++) {
v=a[i];
j=i;
while (a[j-inc] > v) {
a[j]=a[j-inc];
j -= inc;
if (j < inc) break;
}
a[j]=v;
}
} while (inc > 1);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?