哈夫曼编码 数据结构课程设计

哈夫曼编码 数据结构课程设计

ID:19399970

大小:32.00 KB

页数:8页

时间:2018-10-01

哈夫曼编码 数据结构课程设计_第1页
哈夫曼编码 数据结构课程设计_第2页
哈夫曼编码 数据结构课程设计_第3页
哈夫曼编码 数据结构课程设计_第4页
哈夫曼编码 数据结构课程设计_第5页
资源描述:

《哈夫曼编码 数据结构课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、哈夫曼编码数据结构课程设计#include"stdio.h"#include"malloc.h"#include"conio.h"#include"string.h"#include"stdlib.h"#definemax200typedefstructhuffmantree{intweight;intparent;intlchild;intrchild;}HT;chara1[max];inta2[max];chara[max];intn;voidwritefile(){FILE*fp;printf("请输入要编码的字符串:");scanf("%s",a)

2、;n=strlen(a);if((fp=fopen("soucefile.txt","w"))==NULL){printf("文件打开失败!");exit(0);}fprintf(fp,"%s",a);fclose(fp);printf("你输入的字符已存入到文件soucefile.txt中!");}voidselect(HT*tree,intn,int*s1,int*s2){intmin1,min2,i=0;min1=min2=65535;for(i=1;i<=n;i++)if(tree[i].weight

3、){min1=tree[i].weight;(*s1)=i;}for(i=1;i<=n;i++)if(tree[i].weight

4、n(a);for(i=0;i

5、编码字符%c",a1[i]);printf("权值%d",a2[i]);}returncount;}HT*huffmancode(intcount,HT*tree){inti,j,s1,s2,start,k,f=1,cnt=0,m;chara3[max][max];m=2*count-1;tree=(HT*)malloc((m+1)*sizeof(HT));FILE*fp;if((fp=fopen("codefile.txt","w"))==NULL){printf("文件打开失败!");exit(0);}for(i=1;i<=count;i++){tree[

6、i].weight=a2[i-1];tree[i].parent=0;tree[i].lchild=0;tree[i].rchild=0;}for(i=count+1;i<=m;i++){tree[i].weight=0;tree[i].parent=0;tree[i].lchild=0;tree[i].rchild=0;}for(i=count+1;i<=m;i++){select(tree,i-1,&s1,&s2);tree[s1].parent=i;tree[s2].parent=i;tree[i].lchild=s1;tree[i].rchild=s2;tre

7、e[i].weight=tree[s1].weight+tree[s2].weight;}printf("");printf("序号weightparentlchildrchild");for(i=1;i<=m;i++){printf("%9d",i);printf("%9d",tree[i].weight);printf("%9d",tree[i].parent);printf("%9d",tree[i].lchild);printf("%9d",tree[i].rchild);}printf("");char*cd=(char*)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。