2022年2022年哈夫曼编码译码C语言编写 .pdf
《2022年2022年哈夫曼编码译码C语言编写 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年哈夫曼编码译码C语言编写 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、哈夫曼编码译码C语言编写10 标签: 哈夫曼 , 编码, 译码 如上题 C 语言编个程序懂的帮搞个能运行的程序来#11 别到网上找那些我找过了没用的蝶风待夕魂回答:2 人气:19 解决时间 :2009-05-14 18:44 满意答案好评率: 100%#include #include #include typedef char ElemType; typedef struct ElemType elem; unsigned int weight; unsigned int parent,lchild,rchild; HTNode,*HuffmanTree; typedef char* Huf
2、fmanCode; typedef int Status; typedef struct char elem; unsigned int weight; Weight; / save the information of the symbolizes; void HuffmanCoding(HuffmanTree *,HuffmanCode *,Weight *,int); void Select(HuffmanTree,int,int *,int *); void OutputHuffmanCode(HuffmanTree,HuffmanCode,int); Status main(void
3、) HuffmanTree HT; HuffmanCode HC; Weight *w; char c; int i,n; int wei; printf(input the tatol number of the Huffman Tree: ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - scanf(%d,&n); w=(Weight *)malloc(n*sizeof(Weight); for(i=0;in;i+) p
4、rintf(input the element & its weight:); scanf(%1s%d,&c,&wei); wi.elem=c; wi.weight=wei; HuffmanCoding(&HT,&HC,w,n); OutputHuffmanCode(HT,HC,n); return 1; 回答人的补充 2009-05-08 00:07 接上面的。字数限制一次发不完。void HuffmanCoding(HuffmanTree *HT,HuffmanCode *HC,Weight *w,int n) int i,m,s1,s2,start,f; unsigned int c;
5、char *cd; / HuffmanTree p; if(n=1) return; m=2*n-1; (*HT)=(HuffmanTree)malloc(m+1)*sizeof(HTNode); for(i=1;i=n;+i) (*HT)i.elem=wi-1.elem; (*HT)i.weight=wi-1.weight; (*HT)i.parent=(*HT)i.lchild=(*HT)i.rchild=0; for(;i=m;+i) (*HT)i.elem=0; (*HT)i.weight=(*HT)i.parent=(*HT)i.lchild=(*HT)i.rchild=0; for
6、(i=n+1;i=m;+i) Select(*HT,i-1,&s1,&s2); (*HT)s1.parent=i;(*HT)s2.parent=i; (*HT)i.lchild=s1;(*HT)i.rchild=s2; (*HT)i.weight=(*HT)s1.weight+(*HT)s2.weight; 回答人的补充 2009-05-08 00:12 (*HC)=(HuffmanCode)malloc(n*sizeof(char*); cd=(char *)malloc(n*sizeof(char); cdn-1=0; for(i=1;i=n;+i) start=n-1; 名师资料总结 -
7、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - for(c=i,f=(*HT)i.parent;f!=0;c=f,f=(*HT)f.parent) if(*HT)f.lchild=c) cd-start=0; else cd-start=1; (*HC)i=(char *)malloc(n-start)*sizeof(char); strcpy(*HC)i,&cdstart); 回答人的补充 2009-05-08 00:18 void Sele
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年哈夫曼编码译码C语言编写 2022 年哈夫曼 编码 译码 语言 编写
限制150内