📄 huffman_a.h
字号:
#ifndef _HUFFMAN_A_HEADER_001_#define _HUFFMAN_A_HEADER_001_#include "huffman_base.h"#include <set>using namespace std;// 使用链表结构生成Huffman树的算法,这是最基本的实现方法,效率最低class huffman_a : public huffman_base{public: huffman_a() {} virtual ~huffman_a(void) {}public: typedef struct HTNode_T { unsigned long weight; HTNode_T* parent; HTNode_T* lchild; HTNode_T* rchild; }HTNode, *HuffmanTree;public: void generate_codes(int num, const unsigned long* weights);protected: // 在s[0..n]中选择weight最小且parent为NULL的两个,返回其位置iterator void select(HuffmanTree* s, int n, int& s1, int& s2); // 递归释放Huffman树占用的空间 void free_tree(HuffmanTree tree);};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -