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;
}
