资源简介
【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
相关资源
- stm32cubeIDE hul库freertos can中断收发,
- C++实战源码-应用random_shuffle算法将元
- C++ 文件压缩
- 哈夫曼编码(c++实现)
- 大整数的实现(hugeint.cpp)
- 香农编码 哈夫曼编码 信息论期中作业
- 26个大写字符和空格的Huffman编码
- huffmantree对英文短文编码,译码
- 数据结构单链表的表示和基本操作学
- 约瑟夫Josephus环问题:编号为123…n的
- 哈夫曼编码器c代码
- huffman算法源码
- MFC下的哈夫曼编码及应用
- Huffman课程设计
- C语言编码哈夫曼树
- 自适应Huffman编码
- 人工智能八数码问题求解
- 哈夫曼编码(C语言版)
- 文件压缩与解压C++
- 哈夫曼编码C语言的实现
评论
共有 条评论