?? huffman_a.h
字號(hào):
#ifndef _HUFFMAN_A_HEADER_001_#define _HUFFMAN_A_HEADER_001_#include "huffman_base.h"#include <set>using namespace std;// 使用鏈表結(jié)構(gòu)生成Huffman樹(shù)的算法,這是最基本的實(shí)現(xiàn)方法,效率最低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的兩個(gè),返回其位置iterator void select(HuffmanTree* s, int n, int& s1, int& s2); // 遞歸釋放Huffman樹(shù)占用的空間 void free_tree(HuffmanTree tree);};#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -