教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

数据结构课程设计实验报告哈夫曼树的应用(4)

来源:网络收集 时间:2026-07-26
导读: void decode() //完成译码功能 { cout if((txtfile=fopen(\ { cout if ((codef=fopen(\ { cout char *tbdc,*outext,i2; int io=0,i,m; unsigned long length=10000; tbdc=(char*)malloc(length*sizeof(char)); //分

void decode() //完成译码功能 {

cout<<\下面对根目录下文件codefile.txt中的字符进行译码\ FILE *codef,*txtfile;

if((txtfile=fopen(\ { cout<<\不能打开文件\ }

if ((codef=fopen(\ { cout<<\不能打开文件\ }

char *tbdc,*outext,i2; int io=0,i,m;

unsigned long length=10000;

tbdc=(char*)malloc(length*sizeof(char)); //分配空间 fgets(tbdc,length,codef);

outext=(char*)malloc(length*sizeof(char)); //分配空间 m=2*n-1;

for(i=0;*(tbdc+i)!='\\0';i++) //进入循环 { i2=*(tbdc+i); if(HT[m].lchild==0) { *(outext+io)=*(z+m-1); io++; m=2*n-1; i--; } else if(i2=='0') m=HT[m].lchild; else if(i2=='1') m=HT[m].rchild; }

*(outext+io)='\\0'; fputs(outext,txtfile);

cout<<\译码完成\内容写入根目录下的文件txtfile.txt中\ free(tbdc); free(outext); fclose(txtfile); fclose(codef); }

//--------------------------------------------- void printcode() //打印代码 {

16

cout<<\下面打印根目录下文件CodePrin.txt中编码字符\ FILE * CodePrin,* codefile;

if((CodePrin=fopen(\ { cout<<\不能打开文件\ return; }

if((codefile=fopen(\ { cout<<\不能打开文件\ return; }

char *work3;

work3=(char*)malloc(51*sizeof(char)); do { if(fgets(work3,51,codefile)==NULL) { cout<<\不能读取文件\ break; } fputs(work3,CodePrin); puts(work3);

}while(strlen(work3)==50); free(work3);

cout<<\打印工作结束\ fclose(CodePrin); fclose(codefile); }

void coprint(HuffmanTree start,HuffmanTree HT)//打印代码文件 {char t=' '; if(start!=HT) {

FILE * TreePrint;

if((TreePrint=fopen(\ { cout<<\创建文件失败\ return; }

numb++;//该变量为已被声明为全局变量 coprint(HT+start->rchild,HT);

if(start->lchild!=NULL&&start->rchild!=NULL) t='<'; cout<weight<

17

fprintf(TreePrint,\ coprint(HT+start->lchild,HT); numb--;

fclose(TreePrint); } }

void printree(HuffmanTree HT,int w) //打印赫夫曼树 {

HuffmanTree p; p=HT+w;

cout<<\下面打印赫夫曼树\输出\打印赫夫曼树\语句 coprint(p,HT);

cout<<\打印工作结束\输出\打印工作结束\}

void printhead() {

cout<<\数据结构\\t课程设计\\t信管11101班 201117020126\\n\ cout<<\

cout<<\ i.初始化赫夫曼链表 w.编码字符 cout<<\ e.编 码 d.译 码 cout<<\ p.打印编码 t.打印赫夫曼树 cout<<\ q.退 出 \\n\\t\\t\ if(flag==0)cout<<\请先初始化赫夫曼链表,输入'i'\\n\ cout<<\请选择你要进行的操作:\}

/*2.主程序*/ void main() {

char choice;

while(choice!='q') { printhead(); cin>>choice; switch(choice) {

case 'i': //按下i则进行初始化赫夫曼链表,调用init函数 init(); break;

case 'w': //按下w编码字符,调用inputcode函数 inputcode(); break;

case 'e': //按下e编码,调用encode函数 encode(); break;

18

伍瑶\\n\\t\\t\\\n\\t\\t\ \\n\\t\\t\ case 'd': //按下d译码,调用decode函数 decode(); break;

case 'p': //按下p打印编码,调用printcode函数 printcode(); break;

case 't': //按下t打印赫夫曼树,调用printree函数 printree(HT,2*n-1); break;

数据结构课程设计实验报告哈夫曼树的应用(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/607322.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)