设计内容:
设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下业务,直到选择退出为止。
(1) 初始化:键盘输入n个字符和n个权值,建立哈夫曼树(n>=5);
(2) 能够将数据存放在数据文件(文件名为data.txt,位于当前目录中);
(3) 编码:利用建好的哈夫曼树生成哈夫曼编码,输出编码;
(4) 输入编码,完成译码。
设计要求:
(1) 符合课题要求,实现相应功能;
(2) 要求界面友好美观,操作方便易行;
(3) 注意程序的实用性、安全性。
本题使用数组,线性表,结构体等完成
3.1 哈夫曼树存储结构
Typedef struct//结点的结构
{
int weight;
int parent,lchild,rchild;
}HTNode,*HuffmanTree;//动态分配数组存储哈夫曼树
3.2分配数组存储
Typedef char * *HuffmanCode;//动态分配数组存储哈夫曼树