#include <iostream>
#include <string.h>
using namespace std;
#define N 1000
struct HufmTree//哈夫曼树
{
char ch;//结点字符
int weight;//结点的权值
int parent,lchild,rchild;
};
struct HuffmanCode
{
char ch;
char bits[N+1];
};
HufmTree tree[N];//哈夫曼树
HuffmanCode h[N];//哈夫曼编码
void select(HufmTree tree[],int n,int&min1,int &min2)
//选出parent 的值为0且权值最小的两个结点
{
int mw1=100000,mw2=100000;
for(int i=1;i<=n;i++)
{
if(tree[i].parent!=0)continue;
if(tree[i].weight<=mw1)
{
mw2=mw1;
mw1=tree[i].weight;
min2=min1;
min1=i;