c语言语言写压缩软件,哈弗曼压缩软件C语言代码.pdf

哈弗曼压缩软件C语言代码

//========湖南理工学院====//

//==========作者:余佳,尊重版权=====//

//==========#include============

#include

#include

#include

#include

usingnamespacestd;

#definenumber_array600

#definebase300

structHaffmanTree{

intWeight;

intData;

intLChild;

intRchild;

};

HaffmanTreeHT[number_array];

charInput[number_array],Output[number_array];//input 接受文件名,

long CHART[number_array],char_number = 0,hear;//char 计算某个字符出现的次数,

char_number是表示这个文件中总共出现啦hear表示HAFFMAN 的头节点

char code[number_array][number_array],Weig[8];//weig 表示进制,code 表示记录某个字符子

在hafffman树的顺序

voidinset(); //初始化

intMenu();

voidCompress();

voidDecompression();

voidCalculate_File(); //统计字符出现的次数

voidcodingHaffman(int node,intleft,charc,intdeep);//

voidCreatHaffmanTree(); //创造哈弗曼树

voidSavenode(); //保存密码本

voidPassed();

voidReadThenode(); //

voidDeciphering(); //解压文件的主要函数

//============#include"hear.h"============

//显示菜单

intMenu(){

system("title 夏瑶");

cout<

cout<

cout<

cout<

inta;

cout<

cin>>a;

if(a<0|| a>4){

cout<

for(inti= 0;i<10000;i++)

for(intj=0;j<10000;j++);

system("cls");

Menu();

}

returna;

}

//压缩小函数的主要程序代码

voidCompress(){

cout<

cin>>Input;

strcpy(Output,Input);//复制

strcat(strrchr(Output,'.'),".password");

Calculate_File();

CreatHaffmanTree();

Savenode();

strcpy(strrchr(Output,'.'),".zip");

Passed();

}

//解压小函数的主要程序代码

voidDecompression(){

cout<

cin>>Input;

strcpy(strrchr(Input,'.'),".password");

strcpy(Output,Input);

*strrchr(Output,'.') = '\0'; //变名字,找密码

ReadThenode();

codingHaffman(hear,-1,'0',0);

strcpy(strrchr(Input,'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值