1.从键盘读入源码字符集个数,每个字符,和每个字符的权重,建立哈夫
曼树,
并将哈夫曼树写入文件 hfmTree 中。2.从文件 hfmTree 中读入哈夫曼树信
息,建立哈夫曼树*/
void CreateHuffmanTreeFromKeyboard();
void CreateHuffmanTreeFromFile();
void Encoder(); /*使用建立好的哈夫曼树(如果不在内存,则从文件
hfmTree 中读入并建立内存里的哈夫曼树),
对文件 ToBeTran 中的正文进行编码,并将码文写入文件 CodeFile 中。
ToBeTran 的内容可以用记事本等程序编辑产生。*/
void Decoder(); /*待译码的码文存放在文件 CodeFile 中,使用建立好
的哈夫曼树(如果不在内存,
则从文件 hfmTree 中读入并建立内存里的哈夫曼树)将码文译码,
得到的源文写入文件 TextFile 中,并同时输出到屏幕上。*/
void PrintCodeFile(); /*将码文文件 CodeFile 显示在屏幕上*/
void PrintHuffmanTree(); /*将哈夫曼树以直观的形式(凹入表示法,
或广义表,或其他树形表示法)显示在屏幕上,
同时写入文件 TreePrintFile 中*/
void PrintHuffmanTree_aoru(int T,int layer=1); /*凹入表示法显示哈
夫曼树,由 PrintHuffmanTree()调用*/
};
/////////////////////////////////////////////////////////////////
//HuffmanTree.cpp
#include<string>
#include<limits> //为使用整型最大值
#include"HuffmanTree.h"
评论0
最新资源