📄 huffman.h
字号:
//程序名:Huffman.h
//程序功能:哈夫曼树的头文件
//程序作者:伍世浩 20072102310
//日期:2008.12.11
//文件信息:
// Huffman.h 哈夫曼树的定义文件
// HuffmanTree.h 哈夫曼树的实现文件
// HuffmanTree_Main.cpp 主函数
struct HuffmanNode {
int weight;//存放结点的权值,假设只考虑处理权值为整数的情况
int parent;//-1表示为根结点,否则表示为非根结点
int lchild,rchild;//分别存放该结点的左右孩子的所在单元的编号
HuffmanNode(){ parent=-1; weight=0; lchild=-1; rchild=-1; }//初始化结点
};
class HuffmanTree
{
public:
struct HuffmanNode *Node;//哈弗曼树中结点的存储结构
char *Info;//用来保存各字符的信息
int LeafNum;//树中的叶子结点总数
public:
HuffmanTree ( );//根据WeightNum个权值建立一棵哈弗曼树
char *Encoder ( char ch );//利用构造好的哈夫曼树对字符ch进行编码
void Decoder ( char * BitStr );//对二进制串进行译码
void WriteFile(void) ; //将信息保存到文件中
void ReadFile(void) ;//从文件读取信息
void ReadDefault( void);//读取默认哈夫曼树
void Create( int WeightNum );//手工方式重新创建哈夫曼树
void Auto_Creat();//自动创建哈夫曼树
void Build ( );//从以现有信息创建哈夫曼树
void Print( int T,int layer );//凹入表示法显示哈夫曼树
int Get_LeafNum( );//得到二叉树叶子总数
~HuffmanTree();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -