下面是源码下载:
http://pan.baidu.com/s/1dDhplwH
程序是用C语言写的,VS2013编译。
这是其中使用结构体的定义
这是哈夫曼函数的定义
编译通过了吗?我用VC2010编译,有3个错误,更正后通过了:
但是没有你的txt文件,没法运行,不知道运行会怎样。
//Huffman.h
b = (struct BTreeNode **)malloc(n*sizeof(struct BTreeNode*));
b[i] = (struct BTreeNode *)malloc(sizeof(struct BTreeNode));
q = (struct BTreeNode *)malloc(sizeof(struct BTreeNode));
txt文件用Huffman.c
运行结果:
_
OK
35 a
31 b
21 c
29 d
58 e
40 f
7 g
18 h
49 i
16 j
19 k
36 l
8 m
54 n
26 o
3 p
7 q
38 r
16 s
70 t
27 u
1 v
0 w
0 x
0 y
3 z
节点权值为58的编码:000
节点权值为7的编码:001000
节点权值为7的编码:001001
节点权值为3的编码:0010100
节点权值为0的编码:00101010000
节点权值为0的编码:00101010001
节点权值为0的编码:0010101001
节点权值为1的编码:001010101
节点权值为3的编码:00101011
节点权值为8的编码:001011
节点权值为31的编码:0011
节点权值为16的编码:01000
节点权值为16的编码:01001
节点权值为35的编码:0101
节点权值为70的编码:011
节点权值为36的编码:1000
节点权值为18的编码:10010
节点权值为19的编码:10011
节点权值为38的编码:1010
节点权值为40的编码:1011
节点权值为21的编码:11000
节点权值为26的编码:11001
节点权值为49的编码:1101
节点权值为54的编码:1110
节点权值为27的编码:11110
节点权值为29的编码:11111
请按任意键继续. . ._