数据结构课程设计报告

2026/1/15 2:43:17

}codetype;

codetype code[n];

codetype cd;

2. 图例描述:假设a出现32次,b出现12次

s[0] bits start 0 weight[0] 32 s[1] weight[1] 12 code[0] \\ \\ 0 ... code[1] \\ \\ s[65] ch l r p ............ 32 s[66] tree[0] 65 ......... 12 s[67] tree[1] 66 ........ code[65] 0 0 ... code[66] 1 .........

(5)主要算法描述:while(文件没有处理完) /*******zip the code*****/ {for(t=code[ch].start;t

ch=fgetc(fp); }

while(Weight)(当文件没有处理完)/****unzip the code******/ {if(k==0) ch1=ch&128; if(k==1) ch1=ch&64; if(k==2) ch1=ch&32; if(k==3) ch1=ch&16; if(k==4) ch1=ch&8;

if(k==5) ch1=ch&4; if(k==6) ch1=ch&2; if(k==7) ch1=ch&1;

if(ch1==0) /***********decode********/ i=tree[i].lchild-1; else

i=tree[i].rchild-1; if(tree[i].lchild==0) {fputc(tree[i].ch,fp1); i=2*NUM-2; Weight--; } k++;

if(k==8&&Weight) {k=0;

ch=fgetc(fp); } }

(6)测试数据及结果: 运行程序,首先出现菜单。

若输入E,进入压缩界面。按要求输入需要压缩

的文件名,(包括扩展名)。倘若输入错误,提示出错并退出主菜单。压缩的目标文件为:原文件名.cod。

若输入D,进入解压界面。按要求输入压缩了的文件名(扩

展名必须为cod,否则报错并退出主菜单)。再按要求输入解压的目标文件名,若出错,可以报错。

若输入L,按需要,输入要显示的文件名。若出错,报错。

即可把文件显示出来。

若输入Q,退出程序。

若输入其他字符,提示输入错误,要求重新输入。

(7)程序特点:1.有较好的容错能力,无论怎样输入,基本上能安全退出。

2.写入压缩文件的树,只包含出现过的字符.使得树的大小大大减

少.

3.把weight独立出另外一个数组处理,不写入tree中,有助于减

少压缩目标文件的大小.

4.用与或运算把编码转化成位的形式.

(8)小结:本程序能够压缩ASCII码在128以内的字符组成的程序.压缩效率

较高,解压正确,而且容错能力较好。需要改进的地方是:可以把压缩范围增大,使之更具有使用价值。


数据结构课程设计报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 数据结构课程设计报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

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