霍夫曼压缩程序设计
//霍夫曼字的结构,0~255是表示读入的字,256~509是建立霍夫曼可取的字
struct hufnode {
unsigned long total;
short bits[_MAXNODES]={-1};
short parent; //根的parent等于-1
short left,right; //表示左子树和右子树,无子树用-1表示
}hufnode;//使用别名
hufnode chars[_MAXNODES*2];
short root=-1; //记录根节点的位置,并要写入压缩文件头中
int init_nodes(char * orgfile); //读取文件,获得freqency,成功返回0
int encode(char * orgfile,char * encodedfile); //重新读取文件,并一次按照霍夫曼编码表,将文件压缩存入新的压缩文件,并将编码表写入头中
int decode(char * encodedfile,char * orgfile); //读取压缩文件头,读出霍夫曼编码表,构建霍夫曼树,按照霍夫曼树由根到叶读取