• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: C/C++
  • 标签: 数据压缩  LZW编码  

资源简介

数据压缩LZW编码c++程序,包括编码和解码,解码是边解码边恢复字典 售后服务QQ:857997674 有任何疑问或问题,请咨询QQ

资源截图

代码片段和文件信息

#include
#include
#include
using namespace std;

string dic[30];
int n;

int find(string s)//字典中寻找返回序号
{
int temp=-1;
for(int i=0;i<30;i++)
{
if(dic[i]==s) temp=i+1;
}
return temp;
}
void init()//字典初始化
{
dic[0]=“a“;
dic[1]=“b“;
dic[2]=“c“;//字根为abc
for(int i=3;i<30;i++)//其余为空
{
dic[i]=““;
}
}
void code(string str)
{
init();//初始化
char temp[2];
temp[0]=str[0];//取第一个字符
temp[1]=‘\0‘;
string w=temp;
int i=1;
int j=3;//目前字典存储的最后一个位置
cout<<“\n  编码为:“;
for(;;)
{
char t[2];
t[0]=str[i];//取下一字符
t[1]=‘\0‘;
string k=t;
if(k==““) //为空,字符串结束

{
cout<<“ “< break;//退出for循环编码结束
}
if(find(w+k)>-1) 
{
w=w+k;
i++;
}
else
{
cout<<“ “< string wk=w+k;
dic[j++]=wk;
w=k;
i++;
}
}
cout< for(i=0;i {
cout< }
cout<

评论

共有 条评论