16 lines
309 B
C
16 lines
309 B
C
|
|
void hufapp(unsigned long index[], unsigned long nprob[], unsigned long n,
|
|
unsigned long i)
|
|
{
|
|
unsigned long j,k;
|
|
|
|
k=index[i];
|
|
while (i <= (n>>1)) {
|
|
if ((j = i << 1) < n && nprob[index[j]] > nprob[index[j+1]]) j++;
|
|
if (nprob[k] <= nprob[index[j]]) break;
|
|
index[i]=index[j];
|
|
i=j;
|
|
}
|
|
index[i]=k;
|
|
}
|