哈夫曼编码设计报告(5)

2019-06-02 15:05

武汉工程大学计算机科学与工程学院 综合设计报告

{ cout<

void Hfmym(HuffmanT T)//哈夫曼译码 { int i,par,temp,p,root; par=0; while(T[par].parent!=-1) { par=T[par].parent; } root=par;

cout<<\请输入需要译码的编码:\cin>>y;

for(p=0;y[p]!='\\0';p++);

cout<<\以上编码的译码为:\

for(i=0;i

cout<

#endif

- 17 -

武汉工程大学计算机科学与工程学院 综合设计报告

(3)Hfm1.h执行第一层所需函数 #ifndef HFM_CC #define HFM_CC

#include #include \

void InitHT1(HuffmanT T,int t) { int i,j,a[26]={64,13,22,32,103,21,15,47,57,1,5,32,20,57,63,15,1,48,51,80,23,8,18,1,16,1}; for(i=0;i<2*t-1;i++) { T[i].data='a'; T[i].weight=0; T[i].parent=-1; T[i].lchild=-1; T[i].rchild=-1; for(j=0;j<30;j++) { T[i].code[j]=2; } } for(i=0;i

void Output1(HuffmanT T,int p) { int i,j,par,temp; for(i=0;i

- 18 -

武汉工程大学计算机科学与工程学院 综合设计报告

temp=T[par].parent; if(T[temp].lchild==par) T[i].code[couter]=0; else if(T[temp].rchild==par) T[i].code[couter]=1; par=temp; couter=couter+1; } } for(i=0;i=0;j--) { if(T[i].code[j]!=2) cout<=0;k--) {if(T[j].code[k]!=2) cout<

void CreatHT1(HuffmanT T) { cout<<\哈夫曼第一层:\ int p,i,p1,p2; p=27; InitHT1(T,p);

- 19 -

武汉工程大学计算机科学与工程学院 综合设计报告

for(i=p;i<2*p-1;i++) { SelectMin(T,i,p1,p2); T[p1].parent=T[p2].parent=i; T[i].lchild=p1; T[i].rchild=p2; T[i].weight=T[p1].weight+T[p2].weight; } Output1(T,p); Hfmym(T); }

#endif

(4)Hfm2.h执行第二层所需函数 #ifndef HFM_BB #define HFM_BB #include \

int Scan(char s,int p,char a[]); void CreatHT2(HuffmanT T);

void InitHT2(HuffmanT T,int t,int y,char s[],char d[]); void CreatHT2(HuffmanT T) { int p,i,p1,p2;

// cout<<\请输入需要编码的报文:\// cin.ignore(N,'\\n'); // cin.get(a,N);

for(p=0;a[p]!='\\0';p++); char b[N]; int t=0,j=0; for(i=0;i

- 20 -

武汉工程大学计算机科学与工程学院 综合设计报告

T[i].rchild=p2; T[i].weight=T[p1].weight+T[p2].weight; } Output(T,t); Hfmym(T); }

void InitHT2(HuffmanT T,int t,int y,char s[],char d[]) { int i,j; char b; for(i=0;i<2*t-1;i++) { T[i].data='a'; T[i].weight=0; T[i].parent=-1; T[i].lchild=-1; T[i].rchild=-1; for(j=0;j<30;j++) { T[i].code[j]=2; } }

for(i=0;i

for(i=0;i

T[i].weight=Scan(b,y,d); } }

int Scan(char b,int p,char a[]) { int num=0; for(int j=0;j

#endif

- 21 -


哈夫曼编码设计报告(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小型SQL数据库系统(成绩管理系统)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: