求高手写个哈夫曼编码和译码的程序啊

来源:百度知道 编辑:UC知道 时间:2024/06/26 02:56:21
如题,跪求啊,急用,拜托了。最好是C程序。。。
请哪位高手大人发发慈悲,一定帮帮忙啊。。。。
万分感谢,万分感谢!
非常感谢大哥的程序,可是这个程序编译通过了,但是无法生成PROGRAM,不知道怎么回事,请教,谢谢!

刚生成程序了。。。不过不对啊,我需要一个能够实现如下功能的程序:建立一个文件,输入一段字符,然后对这段字符进行编码,并且能够实现解码。不是根据HUFFMAN树的结点重量来进行编码的。。。寒啊。。。麻烦哪位高手了。谢谢,跪求。。。

/*有bug可给我留言*/
#include <stdio.h>
#define MAXBIT 10 /*定义哈夫曼编码的最大长度*/
#define MAXVALUE 10000 /*定义最大权值*/
#define MAXLEAF 30 /*定义哈夫曼树中最多叶子节点个数*/
#define MAXNODE MAXLEAF*2-1 /*哈夫曼树最多结点数*/
typedef struct { /*哈夫曼编码信息的结构*/
int bit[MAXBIT];
int start;}Hcodetype;
typedef struct { /*哈夫曼树结点的结构*/
int weight;
int parent;
int lchild;
int rchild;
}Hnodetype;
void huffmantree(Hnodetype huffnode[MAXNODE],int n) /*构造哈夫曼树的函数*/
{
int i,j,m1,m2,x1,x2;
for(i=0;i<2*n-1;i++) /*存放哈夫曼树结点的数组huffnode[]初始化*/
{
huffnode[i].weight=0;
huffnode[i].parent=-1;
huffnode[i].lchild=-1;
huffnode[i].rchild=-1;