C语言哈夫曼编码代码.doc
《C语言哈夫曼编码代码.doc》由会员分享,可在线阅读,更多相关《C语言哈夫曼编码代码.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流C语言哈夫曼编码代码【精品文档】第 6 页C语言哈夫曼编码代码C语言哈夫曼编码代码#include#include#includeintm,s1,s2;typedefstructunsignedintweight;unsignedintparent,lchild,rchild;HTNode,*HuffmanTree;/动态分配数组存储哈夫曼树typedefchar*HuffmanCode;/动态分配数组存储哈夫曼编码表voidSelect(HuffmanTreeHT,intn)inti,j;for(i=1;i=n;i+)if(!HTi.parent)s1
2、=i;break;for(j=i+1;j=n;j+)if(!HTj.parent)s2=j;break;for(i=1;iHTi.weight)&(!HTi.parent)&(s2!=i)s1=i;for(j=1;jHTj.weight)&(!HTj.parent)&(s1!=j)s2=j;voidHuffmanCoding(HuffmanTree&HT,HuffmanCodeHC,int*w,intn)/算法6.13/w存放n个字符的权值(均0),构造哈夫曼树HT,/并求出n个字符的哈夫曼编码HCinti,j;char*cd;intp;intcdlen;if(n=1)return;m=2*n
3、-1;HT=(HuffmanTree)malloc(m+1)*sizeof(HTNode);/0号单元未用for(i=1;i=n;i+)/初始化HTi.weight=wi-1;HTi.parent=0;HTi.lchild=0;HTi.rchild=0;for(i=n+1;i=m;i+)/初始化HTi.weight=0;HTi.parent=0;HTi.lchild=0;HTi.rchild=0;puts(n哈夫曼树的构造过程如下所示:);printf(HT初态:n结点weightparentlchildrchild);for(i=1;i=m;i+)printf(n%4d%8d%8d%8d%8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 哈夫曼 编码 代码
限制150内