- 5
- 0
- 约1.57万字
- 约 17页
- 2022-09-04 发布于北京
- 举报
一、 设计课题:
文件的压缩与解压缩(利用赫夫曼编码)
二、 设计方案:
1. 类的定义:
Data 类、NODE 类、Huffman 类
2. 类间关系:
Data 类和NODE 类为Huffman 类的两种数据类型
Huffman 类
NODE 类 Data 类
3. 类的实现:
Huffman 类
源文件处 压缩 解压缩
Readfile(.) Code(...) Ver (..)
Set_H_Tree
Set_Code(.)
三、 程序代码:
Data_H
#ifndef _Data_H_
#define _Data_H_
class Data
{
public:
Data();
~Data();
n;
length;
char word[50];
};
#endif
Data_CPP
#include Data.H
Data::Data(): n(0), length(0)
{
for ( i = 0; i 50; i ++)
{
word[i] = \0;
}
}
Data::~Data()
{
}
NODE_H
#ifndef _NODE_H_
#define _NODE_H_
cla ODE
{
public:
NODE();
~NODE();
weight;
char word[50];
char code[50];
NODE *plink, *llink, *rlink;
};
#endif
NODE_CPP
#include NODE.H
NODE::NODE():weight(0)
{
for ( k = 0; k 50; k ++)
{
word[k] = \0;
code[k] = \0;
}
}
NODE::~NODE()
{
}
Huffman_H
#ifndef _Huffman_H_
#define _Huffman_H_
#include NODE.H
#include Data.H
class Huffman
{
public:
Huffman();
~Huffman();
// 源文件
void ReadFile(Data *d, scale, char *filename);
//创建赫夫曼树
void Set_HTree();
//建立字典
void Set_Code(NODE *p);
//将字典写入文件
void Write(NODE *p);
//压缩
void Code();
//解压缩
void Ver ();
//显示字典
void Show_Code();
protected:
scale; //字典的大小
Data d[100];
NODE *num[100], *root;
FILE *fp;
char fina
您可能关注的文档
最近下载
- 2026年度江西信息应用职业技术学院单招《数学》考试历年机考真题集及参考答案详解【满分必刷】.docx VIP
- 15_演示文稿-职业院校文化生态 -职业教育管理学课件.pdf VIP
- 边城公开课优秀省名师优质课赛课获奖课件市赛课一等奖课件.pptx VIP
- 预拌砂浆抹灰技术交底.pdf VIP
- SNT 0370.3-2021出口危险货物包装检验规程第3部分使用鉴定.pdf VIP
- PLC应用技术欧姆龙完整版全套PPT电子课件教案.pptx VIP
- BCD、BMD型防爆电动葫芦安装、使用、维护说明书.doc
- 2026天津师范大学第二批招聘 (辅导员、专业技术辅助岗位)27人备考题库附答案.docx VIP
- 2025-2030自动驾驶货运网络重构与物流成本优化模型分析报告.docx
- 建筑节能工程施工质量验收规范(最新版).docx VIP
原创力文档

文档评论(0)