?? huffman_c.h
字號:
#ifndef _HUFFMAN_C_HEADER_001_#define _HUFFMAN_C_HEADER_001_#include "huffman_base.h"// 使用Canonical Huffman編碼,同時對huffman_b的存儲結構進行// 改造,將二叉樹存放在連續空間tree里,空間的每個結點類型都// 和結點權值的數據類型相同,空間大小為2*num,tree[0]未用,// tree[1..num]是每個元素的權值。生成Huffman后,tree[1..2*num-1]// 中存儲的是雙親結點索引class huffman_c : public huffman_base{public: huffman_c() {} virtual ~huffman_c(void) {}public: void generate_codes(int num, const unsigned long* weights);protected: // 在HT[1..n]中選擇尚未連入Huffman樹且weight最小的兩個結點,返回其序號s1和s2 void select(unsigned long* tree, bool* flags, int n, int& s1, int& s2);};#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -