資源簡介
對一篇英文文章,統計各字符(僅限于26個字母,不區分大小寫)出現的次數,實現Huffman編碼。
[基本要求]
(1)從文件讀入原始文本文件,并在屏幕上顯示出來;
(2)輸出每個字符(26個英文字母)出現的次數和相應編碼
代碼片段和文件信息
#include
#include
#include
#define?max_value?99999
typedef?struct?node?????????????????//Huffman樹結構定義
{
int?weight;
int?parent?left?right;
}HuffmanTree;
typedef?char?*?*?HuffmanCode;??????//動態分配數組存儲Huffman編碼表
int?get_weight(int*?int?*);???????//獲取權值
void?creat_Huffman_tree(HuffmanTree*?int?int?*);??//創建Huffman樹
HuffmanCode?Huffman_code(int?HuffmanTree*);????????//編碼,從葉子節點到根節點
void?reverse(HuffmanCode?int);????????????????//譯碼,從根到葉
//******************************************************主函數
void?main()
{
int?n?w[27]?=?{?0?}?i?wg[27]?j?=?0;?????//w數組記錄每個字母出現的次數,wg記錄非0的w
char?x[27];?????????????????????????//存儲26個字母
x[1]?=?‘a‘;
for?(i?=?2;?i?27;?i++)
{
x[i]?=?x[i?-?1]?+?1;
}
n?=?get_weight(w?wg);????????????????????
- 上一篇:基于proteus的LPC2106流水燈
- 下一篇:用C++發郵件
評論
共有 條評論