91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介


發送端通過一個編碼系統對待傳數據預先編碼,在接收端將傳來的數據進行譯碼。

1)接收原始數據: 從終端讀入字符集大小nn個字符和n個權值,建立哈夫曼樹,存于文件hfmtree.dat中。

2)編碼: 利用已建好的哈夫曼樹(如不在內存,則從文件hfmtree.dat中讀入)對文件中的正文進行編碼,然后將結果存入文件codefile.dat中。

3)譯碼: 利用已建好的哈夫曼樹將文件codefile.dat中的代碼進行譯碼,結果存入文件textfile.dat 中。

4)打印編碼規則即字符與編碼的一一對應關系。

5)打印哈夫曼樹將已在內存中的哈夫曼樹以直觀的方式顯示在終端上。



資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?

#define?NULL?0
//#define?OK?1
//#define?ERROR?0
//#define?OVERFLOW?-2
#define?MAX_NUM?10000
#define?MAX?60
int?j=0;

typedef?int?Status;
typedef?char?**HuffmanCode;

typedef?struct{
?????unsigned?int????weight;//字符對應的權值?
?????unsigned?int????parentlchildrchild;
}HTNode*HuffmanTree;//此處定義了哈夫曼樹節點的數據類型。提供給Huffman使用

typedef?struct{
?????HuffmanTree?HT;
?????char?????????*c;//存放將要建立哈夫曼樹的字符
?????int??????????longth;//字符的大小,即開始第一步輸入的一個整數
?????HuffmanCode?HC;//存放對應的哈夫編碼即對應的01代碼
}Huffman;

void?Select(HuffmanTree?HTint?endint?*s1int?*s2)
//把輸入的字符按權值從小到大排序,挑出最小權值供HuffmanCoding()調用
//并且根節點的權值等于他的左右孩子的權值和
//min2是在剩下的字符中挑出的最小的勸值的字符

{
???int?i;
???int?min1=MAX_NUM;//min1是根節點的權值
???i

評論

共有 條評論