#include #include #include #include #include //typedef int TElemType; const int UINT_MAX = 1000; typedef struct { int weight; int parent, lchild, rchild; } HTNode, *HuffmanTree; typedef char **HuffmanCode; //-----------全局变量----------------------- HuffmanTree HT; HuffmanCode HC; int *w, i, j, n; char *z; int flag = 0; int numb = 0; // -----------------求赫夫曼编码----------------------- int min(HuffmanTree t, int i) { // 函数void select()调用 int j, flag; int k = UINT_MAX; // 取k 为不小于可能的值 for (j = 1; j s2) { j = s1; s1 = s2; s2 = j; } } // --------------算法6
12-------------------------- void HuffmanCoding(HuffmanTree &HT, HuffmanCode &HC, int *w, int n) { // w 存放n 个字符的权值(均>0),构造赫夫曼树HT,并求出n 个字符的赫夫曼编码HC int m, i, s1, s2, start; //unsigned c,f; int c, f; HuffmanTree p; char *cd; if (n parent = 0; p->lchil