huffman.h
来自「实现用哈夫曼树进行简单的编码译码功能」· C头文件 代码 · 共 37 行
H
37 行
//程序名: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 + =
减小字号Ctrl + -
显示快捷键?