?? hpsort.cpp
字號:
#include "nr.h"
namespace {
void sift_down(Vec_IO_DP &ra, const int l, const int r)
{
int j,jold;
DP a;
a=ra[l];
jold=l;
j=2*l+1;
while (j <= r) {
if (j < r && ra[j] < ra[j+1]) j++;
if (a >= ra[j]) break;
ra[jold]=ra[j];
jold=j;
j=2*j+1;
}
ra[jold]=a;
}
}
void NR::hpsort(Vec_IO_DP &ra)
{
int i;
int n=ra.size();
for (i=n/2-1; i>=0; i--)
sift_down(ra,i,n-1);
for (i=n-1; i>0; i--) {
SWAP(ra[0],ra[i]);
sift_down(ra,0,i-1);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -