⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lz77.h

📁 lz77算法("A Universal Algorithm for Sequential Data Compression")的一种简洁直观的实现。
💻 H
字号:
#ifndef _LZ77_H
#define _LZ77_H

#include "BITIO.h"

#define INDEX_BIT_COUNT       12
#define LENGTH_BIT_COUNT      4
#define WINDOW_SIZE           (1 << INDEX_BIT_COUNT)
#define RAW_LOOK_AHEAD_SIZE   (1 << LENGTH_BIT_COUNT)

#define BREAK_EVEN            ((1 + INDEX_BIT_COUNT + LENGTH_BIT_COUNT) / 9)
#define LOOK_AHEAD_SIZE       (RAW_LOOK_AHEAD_SIZE + BREAK_EVEN)

#define TREE_ROOT             WINDOW_SIZE
#define END_OF_STREAM         0
#define MOD_WINDOW(A)         ((A) & (WINDOW_SIZE - 1))

unsigned char window[WINDOW_SIZE];
unsigned char buf[LOOK_AHEAD_SIZE];

void CompressFile(FILE * inputFile, BITFILE * outputFile);
void ExpandFile(BITFILE * inputFile, FILE * outputFile);

void testLZ77();

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -