LZW编码通过建立一个字符串表,用较短的代码来表示较长的字符串来实现压缩。 LZW压缩算法是Unisys的专利,有效期到2003年,所以相关算法大多也已过期。
本代码仅仅完成了LZW的编码与解码算法功能,相对网上找到的很多代码而言较为简(cai)单(bi),了解struct && 会递归即可,算是优点吧。
#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
struct Node{
int pre; //前缀单词对应码字
char c; //当前字符
}KDA[65535];
int cnt,P,Q;
char W,V;
void Init(){