注意事项:HuffmanTree 应该作为全局变量。
命令控制模块:
主函数模块:
退出模块:
是
否
Init 模块:
HuffmanTree
从 终端读入字符 集
大小、 字符和权 值,
存入 HTNode 数组。
进一步初始化数组。
建立 Huffman 树。
保存到磁盘文件。
将 每个 字 符 译 码 ,
结果存入 code 数组。
HTNode
char character; //字符
unsigned int weight; //权值
unsigned int parent, lchild, rchild;
char code[n]; //编码
从终端或文件中获取
正文(代码)进行编
码(译码)。
HT 是否
在内存?
从磁盘读入
哈夫曼树。
编码(译码)后将结
果输出到终端或文件。
编译码模块:
从内存或文件中获取
哈夫曼树打印到终端。
哈夫曼树打印模块:
退出。
从终端获取命令,进
行相应动作。
主函数。
帮助模块:
帮助。