数据结构课程设计.pdfVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档