📄 huffman.h
字号:
// Haffman.h: interface for the Haffman class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_HAFFMAN_H__DC62F8A7_2DE8_47A3_9053_9935B130769E__INCLUDED_)
#define AFX_HAFFMAN_H__DC62F8A7_2DE8_47A3_9053_9935B130769E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define MAXSTRLEN 1024 //设英文小说每段最长为1024个英文字符
typedef int Status; //定义整形
typedef struct
{
unsigned int weight;//权值定义
unsigned int parent,lchild,rchild;
}HTNode,*HuffmanTree; //动态分配数组存储HUFFMAN树
typedef char **HuffmanCode; //动态分配数组存储HUFFMAN编码
class Huffman
{
public:
int display();
void code2txt();
void txt2code();
void writecodetable();
void init();
int N;
Status getweight();
int *W;
char *C;
HuffmanTree HT;
HuffmanCode HC;
void select(HuffmanTree HT,int i,int &s1,int &s2);
void HuffmanCoding(HuffmanTree &HT,HuffmanCode &HC,int *w,int n);
Huffman();
virtual ~Huffman();
};
#endif // !defined(AFX_HAFFMAN_H__DC62F8A7_2DE8_47A3_9053_9935B130769E__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -