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

2019-06-02 15:05

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

致 谢

在我们课程设计完善过程中,我遇到了这样或那样的技术问题,但经过自己的不懈努力及查阅大量的资料,最终都得到了基本满意的答案。同时,其他同学也给了我许多有益的启示,促动和帮助,使我能够顺利的完成课题。

感谢所有给予我帮助的老师,他们辛勤耕作,传道授业,不仅使我们开阔了视野,拓宽了思路,增长了学识,而且为我们今后的工作和学习打下了牢固的基础,也使增强我们对计算机的兴趣。是老师给予我无限的创造力和奋斗力,使我有无限的信心和希望来完成本次的实训内容。

同时也感谢学校给了我们这次难得的实训机会,实训的过程让我们看到了自己理论知识上的不足,已掌握的知识也在这次的实训中有了质的飞跃,知识能够应用了才是真正掌握了,也希望学校多给我们一些这样的机会。

- 12 -

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

参考文献

[1] 李晓林,张俊.程序设计基础[M].北京:中国铁道出版社 ,2008 [2] 张俊,张彦铎.C++面向对象程序设计[M].北京:中国铁道出版社 ,2008 [3] 陈慧南.数据结构—使用C++语言描述[M].北京:人民邮电出版社 ,2008

- 13 -

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

附录 主要程序代码

(1)main.cpp调用各函数的主函数: #include \#include \#include

void main()

{ HuffmanT T; int i=0; char t; char* filename = \报文.txt\

ifstream ifs(filename); char l; while(ifs.get(l)) { a[i]=l; i++; }

ifs.close(); cout<<\哈夫曼编码/译码 系统\ cout<<\第一层以定义权值编码/译码。\ cout<<\第二层自定义 编码/译码。\ cout<<\退出\ cin>>t; switch(t) { case '1': CreatHT1(T); break; case '2': CreatHT2(T); break; default: cout<<\退出!\ } }

- 14 -

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

(2)HfmTree.h存储两层需要的共有函数 #ifndef HFM_AA #define HFM_AA #include #include #define N 100 int count = 0; char a[N]; char y[N]; struct Node { char data; int weight; int code[30]; int lchild; int rchild; int parent; };

typedef Node HuffmanT[200]; //选取两个最小权值

void SelectMin(HuffmanT T,int t,int &p1,int &p2) { int i,j; for(i=0;iT[i].weight && T[i].parent==-1 && p2!=i) p1=i; } for(j=0;jT[j].weight && T[j].parent==-1 && p1!=j)

- 15 -

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

p2=j; } }

//进行哈夫曼编码并输出结果 void Output(HuffmanT T,int p) { char* filename=\译码.txt\ ofstream ofs(filename); int i,j,par,temp; for(i=0;i=0;j--) { if(T[i].code[j]!=2) cout<=0;k--) { if(T[j].code[k]!=2)

- 16 -


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

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

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

马上注册会员

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