#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct{
int weight;
int parent,lchild,rchild;
}HffNode,*HffTree;
typedef char **Hffcode;
int start;
char *cd;
void select(HffTree &HT,int n,int &s1,int &s2)
{
int min=0;
for(int i=1;i<=n;i++){
if(HT[i].parent == 0)
{
min = i;
break;
}
}
for(int i=1;i<=n;i++){
if(HT[i].parent == 0&& HT[i].weight<HT[min].weight)
{
min = i;
}
}
s1 = min;
for(int i=1;i<=n;i++)
{
if(HT[i].parent == 0&&i!=s1)
{
min = i;
break;
}
}
for(int i=1;i<=n;i++)
{
if(HT[i].parent==0&&HT[i].weight<HT[min].weight&&i!=s1)
{
min = i;
}
}
s2 = min;
}
void creatHffTree(HffTree &HT,int n)
{
int m=2*n-1;
HT = new HffNode[m+1];
for(int i=1;i