huffman_a.h
来自「huffman编码的c++实现源码」· C头文件 代码 · 共 40 行
H
40 行
#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 + =
减小字号Ctrl + -
显示快捷键?