0001 /****************************************************************************************** 0002 * 支持Huffman编码的数据结构 0003 ****************************************************************************************** 0004 * 采用统一的接口,为Huffman_PQ_ComplHeap和Huffman_PQ_LeftHeap共用 0005 * 编译之前,可通过在对应的工程中设置DSA_PQ_ComplHeap或DSA_PQ_LeftHeap选择 0006 ******************************************************************************************/ 0007 #include <iostream> 0008 using namespace std; 0009 0010 //Huffman树 0011 #include "Huffman/HuffChar.h" //引入Huffman(超)字符 0012 #include "Huffman/HuffTree.h" //引入Huffman树 0013 #include "Huffman/HuffTable.h" //引入Huffman编码表 0014 #include "Huffman/HuffCode.h" //引入HuffCode二进制编码 0015 0016 // Huffman森林 0017 #if defined(DSA_PQ_LIST) 0018 #include "Huffman_PQ_List/Huffman_Forest_PQ_List.h" 0019 #elif defined(DSA_PQ_COMPLHEAP) 0020 #include "Huffman_PQ_ComplHeap/Huffman_Forest_PQ_ComplHeap.h" 0021 #elif defined(DSA_PQ_LEFTHEAP) 0022 #include "Huffman_PQ_LeftHeap/Huffman_Forest_PQ_LeftHeap.h" 0023 #else //朴素方案:直接用List实现的Huffman森林 0024 #include "Huffman/Huffman_Forest_List.h" 0025 #endif