已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告实验名称二叉树的基本操作及哈夫曼编码译码系统的实现一、问题描述1实验目的和要求A创建一棵二叉树,实现先序、中序和后序遍历一棵二叉树,计算二叉树结点个数等操作。B哈夫曼编码/译码系统。2实验任务能成功演示二叉树的有关运算,运算完毕后能成功释放二叉树所有结点占用的系统内存3实验内容A创建一棵二叉树;先序、中序和后序遍历这棵二叉树;计算二叉树结点个数B哈夫曼编码译码系统二程序设计三程序代码主函数INCLUDE“CREATEHFMTREEH“INCLUDEINCLUDEUSINGNAMESPACESTDVOIDMAINCOUT“HFMHFMNODEHTHFMCODEHCCHARS1000REPEAT1COUTCHOICECOUTNCOUTDATAICOUTWIHFMCREATEHFMTREEW,DATA,4GOTOREPEAT1IFCHOICET|CHOICETCOUTCHSICHIFCHBREAKINTLENGTHIOFSTREAMOUTF“TESTFILETXT“IFOUTFCOUTCLASSBINARYTREEPUBLICBINARYTREEROOTNULLBOOLISEMPTYCONSTVOIDCLEARBOOLROOTTVOIDMAKETREECONSTTVOIDMAKETREECONSTTVOIDBREAKTREETVOIDPREORDERVOIDVISITTVOIDINORDERVOIDVISITTVOIDPOSTORDERVOIDVISITTVOIDLEVALORDERINTSIZEPROTECTEDBTNODEROOTPRIVATEVOIDCLEARBTNODETVOIDPREORDERVOIDVISITTVOIDINORDERVOIDVISITTVOIDPOSTORDERVOIDVISITTVOIDLEVALORDERBTNODETINTSIZEBTNODETTEMPLATEBOOLBINARYTREEISEMPTYCONSTRETURNROOTNULLTEMPLATEVOIDBINARYTREECLEARBTNODETIFTIFTLCHILDCLEARTLCHILDIFTRCHILDCLEARTRCHILDDELETETTNULLTEMPLATEVOIDBINARYTREECLEARCLEARROOTTEMPLATEBOOLBINARYTREEROOTTRETURNTRUEELSERETURNFALSETEMPLATEVOIDBINARYTREEMAKETREECONSTTLEFTROOTRIGHTROOTNULLTEMPLATEVOIDBINARYTREEMAKETREECONSTTROOTNEWBTNODEX,Y,LEFTROOT,RIGHTROOTLEFTROOTRIGHTROOTNULLTEMPLATEVOIDBINARYTREEBREAKTREETLEFTROOTROOTLCHILDRIGHTROOTROOTRCHILDDELETEROOTROOTNULLTEMPLATEVOIDVISITTPREORDERVISIT,TLCHILDPREORDERVISIT,TRCHILDTEMPLATEVOIDBINARYTREEINORDERVOIDVISITTVISITTELEMENTINORDERVISIT,TRCHILDTEMPLATEVOIDBINARYTREEPOSTORDERVOIDVISITTPOSTORDERVISIT,TRCHILDVISITTELEMENTTEMPLATEVOIDBINARYTREELEVALORDERBTNODETSEQQUEUEQ100IFTRETURNQENQUEUETWHILEQISEMPTYTQDEQUEUECOUTELEMENTLCHILDQENQUEUETLCHILDIFTRCHILDQENQUEUETRCHILDCOUTVOIDBINARYTREELEVALORDERLEVALORDERROOTTEMPLATEINTBINARYTREESIZEBTNODETIFTRETURN0ELSERETURNSIZETLCHILDSIZETLCHILD1TEMPLATEINTBINARYTREESIZERETURNSIZEROOT二叉树结点类INCLUDETEMPLATESTRUCTBTNODEBTNODELCHILDRCHILDNULLBTNODECONSTTLCHILDRCHILDNULLBTNODECONSTTLCHILDLRCHILDRBTNODECONSTTWORDYLCHILDLRCHILDRTELEMENTTWORDBTNODELCHILD,RCHILD哈夫曼树类INCLUDE“BINARYTREEH“INCLUDESTRUCTHFMNODECHARWORDINTWEIGHTINTPARENTINTLCHILDINTRCHILDSTRUCTHFMCODEINTBIT10000INTSTARTINTWEIGHTTEMPLATECLASSHFMTREEPUBLICBINARYTREEPUBLICOPERATORTCONSTRETURNWEIGHTTGETWRETURNWEIGHTVOIDPUTWCONSTTVOIDSETNULLROOTNULLVOIDGRCODETW,CHARC,INTN,HFMNODEHT,HFMCODEHCVOIDENCODEHFMNODEHT,HFMCODEHC,INTCOUNT,CHARRECORD,CHARTRANVERSVOIDDECODEHFMNODEHT,INTCOUNT,CHARIN,CHARFOUTVOIDPRINTCHARINPRIVATETWEIGHTTEMPLATEVOIDHFMTREEGRCODETW,CHARC,INTN,HFMNODEHT,HFMCODEHCINTM1,M2,X1,X2CHARD1,D2INTI,JFORI0IVOIDHFMTREEENCODEHFMNODEHT,HFMCODEHC,INTCOUNT,CHARRECORD,CHARTRANVERSIFSTREAMINFILERECORDIFINFILECOUTVOIDHFMTREEDECODEHFMNODEHT,INTCOUNT,CHARIN,CHARFOUTINTI0CHARCH,BUFFER100/用来存放编码文件中的字符IFSTREAMINFILEINIFINCOUTVOIDHFMTREEPRINTCHARINIFSTREAMINFILEINIFINFILECOUTHFMTREECREATEHFMTREETW,CHARC,INTNPRIOQUEUEPQN/定义一个元素类型为HFMTREE的优先权队列HFMTREEX,Y,Z,ZEROFORINTI0ITEMPLATECLASSQUEUEPUBLICVIRTUALBOOLISEMPTYCONST0VIRTUALBOOLISFULLCONST0VIRTUALBOOLFRONTTVIRTUALBOOLENQUEUETX0VIRTUALTDEQUEUE0VIRTUALBOOLCLEAR0INCLUDE“QUEUEH“TEMPLATECLASSSEQQUEUEPUBLICQUEUEPUBLICSEQQUEUEINTMSIZESEQQUEUEDELETEQBOOLISEMPTYCONSTRETURNFRONTREARBOOLISFULLCONSTRETURNREAR1MAXSIZEFRONTBOOLFRONTTBOOLENQUEUETXTDEQUEUEBOOLCLEARFRONTREAR0RETURNTRUEPRIVATEINTFRONT,REARINTMAXSIZETQTEMPLATESEQQUEUESEQQUEUEINTMSIZEMAXSIZEMSIZEQNEWTMAXSIZEFRONTREAR0/在X中返回队头元素。操作成功返回TRUE,否则返回FALSETEMPLATEBOOLSEQQUEUEFRONTTPRIOQUEUEDELETEQBOOLISEMPTYCONSTRETURNN0BOOLISFULLCONSTRETURNNMAXSIZEVOIDAPPENDCONSTTVOIDSERVETPRIVATEVOIDADJUSTDOWNINTR,INTJVOIDADJUSTUPINTJTQINTN,MAXSIZETEMPLATEPRIOQUEUEPRIOQUEUEINTMSIZEMAXSIZEMSIZEQNEWTMAXSIZEN0/元素值为X的新元素入列TEMPLATEVOIDPRIOQUEUEADJUSTUPINTJINTIJTTEMPQIWHILEI0QNXADJUSTUPN1/在X中返回具有最高优先权的元素值,并从优先权中删除该元素;TEMPLATEVOIDPRIOQUEUEADJUSTDOWNINTR,INTJINTCHILD2R1TTEMPQRWHILE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教科版三年级下册科学期末测试卷【完整版】
- 小学六年级下册数学期末测试卷【培优b卷】
- 语文园地五2023-2024学年二年级下册语文同步教案(部编版)
- 第一单元春之声-春节序曲 教学设计 2023-2024学年人教版初中音乐七年级下册 -
- 部编版五年级下册道德与法治-期末测试卷一套及答案【名师系列】
- 小学六年级下册数学《期末测试卷》带答案【夺分金卷】
- 青岛版六年级下册数学期末模拟卷加答案(有一套)
- Unit 1 Lets go to school Lesson 5(教案)-2023-2024学年人教精通版英语三年级下册
- 《探究圆锥的体积》(教案)-2023-2024学年六年级下册数学北师大版
- 2024学年小学坚决宣传霸凌零容忍班会教学设计
- 加强高校“双师双能型”教师队伍建设
- 声学灯光音响设计费
- 运动发育迟缓运动学康复疗法ppt课件(PPT 65页)
- 手榴弹使用教案
- 小升初英语衔接教材(共48页)
- 市级课题立项申请书:“双减”背景下小学作业多样化设计的实践研究【优秀等次】
- pk254课件操做手册
- SYD-265C石油产品运动粘度测定器
- 库房仓储托管合同
- 淮河柳编的产业发展与文化价值
- 基于PLC的步进电机控制(课程设计)
评论
0/150
提交评论