int huffmah(Nodeh r[N])
{
int x1,x2,m1,m2,i,t,j,n;
printf("请输入树叶子结点的总数:");
scanf("%d",&n);
t=2*n-1;
printf("请输入各叶子结点的数值:");
for(j=1;j<=n;j++)
{scanf("%d",&r[j].data);
r[j].tag=0; r[j].lch=0; r[j].rch=0;
}
i=0;
while(i<n-1)
{x1=0;m1=32767;
x2=0;m2=32767;
for(j=1;j<=n+i;j++)
{
if((r[j].data<m1)&&(r[j].tag==0))
{
m2=m1; x2=x1;
m1=r[j].data; x1=j;
}
else if((r[j].data<m2)&&(r[j].tag==0))
{
m2=r[j].data; x2=j;
}
}
r[x1].tag=1; r[x2].tag=1; i++;
r[n+i].data=r[x1].data+r[x2].data;
r[n+i].tag=0; r[n+i].lch=x1; r[n+i].rch=x2;
}