📄 huffman_h.h
字号:
#ifndef HUFFMAN_H
#define HUFFMAN_H
#include"System.h"
#include"TreeNode_cpp.h"
#include"BinaryTree_cpp.h"
int m_numbers=67;//总的字符个数
char m_char[]=" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,.:()12345;-%";//存储的字符
int m_char_weight[67]={0};//每个字符对应的劝值
template<class W>
class HfmTree_T
{
public:
HfmTree_T(void);
HfmTree_T(const BinaryTree_T<int> &rhs);
HfmTree_T(const HfmTree_T<W> &rhs);
~HfmTree_T(void);
bool operator>(const HfmTree_T<W> &rhs)const;
bool operator==(const HfmTree_T<W> &rhs)const;
bool operator<(const HfmTree_T<W> &rhs)const;
HfmTree_T<W>& operator=(const HfmTree_T<W> &rhs);
//创建Hfm树
void CreatHfmTree(void);
operator W()const;//重载()运算符 以得到劝值
//void ShowTree(void);
//记录频率
void GetWeight(char c);
//译码
void Code(char **&code);
int GetNumber(int x);
int GetNumber(char c);
void GenerateCode(void);
void DeCode(void);
private:
void GenerateCode(BinaryTree_T<int> &P);
void GenerateCode(TreeNode_T<int> *ptr,char **c,char **&code,
int &count,int k,int lev);
BinaryTree_T<int>m_tree;
W m_weight;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -