declare.h
Upload User: berdoor
Upload Date: 2021-12-04
Package Size: 208k
Code Size: 1k
Development Platform:

Visual C++

  1. typedef struct
  2. {
  3.    unsigned int weight;
  4.    char str;
  5.    unsigned int parent,lchild,rchild;
  6. }HTNode,*HuffmanTree;//动态分配数组存储哈夫曼树
  7. typedef char **HuffmanCode;//动态分配数组存储哈夫曼编码表
  8. int s1,s2,n;
  9. int a[128]={0};//权重不为0的权重数组
  10. int b[128]={0};//按ASCII码为下标的权重数组
  11. char c[128]={''};//文件中出现的字符
  12. void Select(HuffmanTree &HT,int x);//在HT[1...i-1]选择parent为0且weight最小的两个结点,其序号分别为s1和s2
  13. void HuffmanCoding(HuffmanTree &HT,HuffmanCode &HC,int *w,int n);//哈夫曼编码
  14. void Initialization();//初始化
  15. void FileWrite(HuffmanCode &HC);//将哈夫曼编码过的文件写入另一新建的文件
  16. void PrintCode(HuffmanCode &HC);//输出各字符的哈夫曼编码