资源简介

【C语言】【数据结构】【压缩、解压缩】利用哈夫曼编码进行对已有文件进行重新编码可以大大提高减小文件大小,减少存储空间。这要求在首先对一个现有文件进行编码行成新的文件,也就是压缩。在文件使用时,再对压缩文件进行解压缩,也就是译码,复原原有文件。 完美运行!

资源截图

代码片段和文件信息


//哈夫曼编码压缩解压缩程序.cpp 
#include  
#include  
#include  
#include 

struct head 
{
    unsigned char b;        //记录字符在数组中的位置
    long count;             //字符出现频率(权值) 
    long parentlchrch;    //定义哈夫曼树指针变量
    char bits[256];         //定义存储哈夫曼编码的数组

header[512]tmp;

/*压缩*/
void compress() 
{
char filename[255]outputfile[255]buf[512]; 
    unsigned char c; 
    long ijmnf;                          //作计数或暂时存储数据用
    long min1pt1flengthlength1length2;   //记录最小结点、文件长度
double div;                              //计算压缩比用
    FILE *ifp*ofp;                          //分别为输入、输出文件指针
    printf(“\t请您输入需要压缩的文件:“); 
    gets(filename); 
    ifp=fopen(filename“rb“); 
    if(ifp==NULL) 
{
   printf(“\n\t文件打开失败!\n\n“); 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      11229  2013-06-23 00:30  Huffman\Huffman.cpp

     文件      36602  2013-06-23 00:30  Huffman\Huffman.exe

     文件      19399  2013-06-23 00:30  Huffman\Huffman.o

     文件      25600  2013-06-19 15:03  Huffman\zxc.doc

     文件     137460  2012-12-10 21:17  Huffman\zxc.jpg

     文件        110  2013-06-19 14:51  Huffman\zxc.txt

     目录          0  2013-06-23 00:30  Huffman

----------- ---------  ---------- -----  ----

               230400                    7


评论

共有 条评论