资源简介

任务 :对一篇英文文章,统计各字符出现的次数,实现Huffman编码; 要求:输出每个字符出现的次数和编码,其中求最小权值要求用堆实现; 注意:在Huffman编码后,要将编码表和英文文章编码结果保存到文件中,并提供读编码文件生成原文件的功能。

资源截图

代码片段和文件信息


#include
#include
#include
#include
#include
#include
#define MAX 30
#define MAXWEIGHT  30000
typedef struct{
int key;
int position;
}redtype ;
typedef struct{
redtype r[27];
int length;
}sqlist;
typedef struct{
char data;
int weight;
int parent;
int lchild;
int rchild;
}huffnode*huffmantree;//赫夫曼结点

typedef struct{
char cd[MAX];
int start;
}huffcode*huffmancode;//赫夫曼编码
char codefilenm[81];//翻译后保存的文件名codefilenm
                     //此文件在编码和译码时都有需要
huffmantree ht;
  huffmancode hc;
int count[27];
int leafnum=26;
 char letter[28]={‘@‘‘a‘‘b‘‘c‘‘d‘‘e‘‘f‘‘g‘‘h‘‘i‘‘j‘‘k‘‘l‘
‘m‘‘n‘‘o‘‘p‘‘q‘‘r‘‘s‘‘t‘‘u‘‘v‘‘w‘‘x‘‘y‘‘z‘‘\0‘};//@键代表不是英文字符的其他数符;
 


//函数名:in

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2175  2008-01-11 19:51  赫夫曼编码\input.txt

     文件        638  2008-01-09 13:22  赫夫曼编码\mine.txt

     文件        638  2008-01-11 19:52  赫夫曼编码\my.txt

     文件     112561  2008-01-11 19:56  赫夫曼编码\哈夫曼编写编译码.rtf

     文件      12374  2008-01-11 19:57  赫夫曼编码\赫夫曼 .cpp

     目录          0  2013-01-24 16:21  赫夫曼编码

----------- ---------  ---------- -----  ----

               128386                    6


评论

共有 条评论