#include <stdio.h>
#include <stdlib.h>
int count=0; //节点数
int frequent[10]={0}; //存储所有字符的频率的字符串
typedef struct huff
{
int left;
int right;
int freq;
char ch;
int level; //用来进行huffcode
}HuffNode,*HuffTree;
//select 函数
void select(HuffNode *t,int len,int *a,int *b)
{
int i=1;
if(t[1].freq<t[2].freq)
{
*a=1;
*b=2;
}
else
{
*a=2;
*b=1;
}
for(i=3;i<=len;i++)
{
if(t[i].freq<t[*a].freq)
{
*b=*a;
*a=i;
}
else if(t[i].freq<t[*b].freq)
*b=i;
}
}
//建立哈弗曼树
HuffTree buildHufftree(int *freq)
{
int i,m; //m用来暂存count的值
int m1,m2;
HuffNode *node;
for(i=0;i<256;i++)
if(freq[i])
count++;
m=count;
node=(HuffNode *