无损数据压缩LZW算法——C++实现

来源:互联网 发布:风控模型算法spss 编辑:程序博客网 时间:2024/05/22 05:09

兹于2017年11月,应《多媒体技术基础》课程实验的要求,本人(惠州学院->信息科学技术学院->软件工程->戴文治)就基于无损数据压缩LZW算法做了较为深入的理解,用C++语言实现无损数据压缩LZW算法。



无损数据压缩LZW算法


一、实验目的

1.掌握LZW算法的编码过程;

2.掌握LZW算法的译码过程。

 

二、实验设备与环境

Dev-C++ 5.9.2,Windows 7 操作系统

 

三、实验内容、程序清单及运行结果

实验要求:

Dev-C ++编写LZW算法程序。

1. 实现LZW编码程序。

2. 实现LZW解码程序。

实验参考步骤:

1.打开Dev-C ++,进入编程环境,新建一个源代码文件,文件名任意;

2.将下面我所编写的代码拷贝到所新建的源代码文件中;

3.点击编译运行。

 

 

C++源代码:

/***作者:戴文治*时间:2017年11月3日*描述:LZW编码译码算法*特点:该代码具有可移植性,可在Dev-C++、VC++6.0、VS2010等多种平台完美运行*该代码具有可重用性,运行后可对多个测试用例进行顺序测试而不受影响*/暂时不放源吗

测试用例1截图:

编码:

 


译码:

 

测试用例2截图:

编码:

 

译码:


四、注意事项

注意指针的使用。

要求熟练掌握字符串处理函数,对这些函数的功能和效果要有很明确的意识,否则会出现很多BUG

最后,这次实验我遇见许多细微的问题,最后还是通过DEBUG调试才发现的。事实证明Dev-C++VC++非常地难以调试,很不直观!而用VS2010调试程序的话,它会有一个程序变量的窗口,每执行一条语句,它会显示出当前所有变量的值,还会把此次修改的变量用红色标注出来,在此推荐通过VS2010来调试程序。


第三次发博客,写的不是很好,望各位大神多多指正,不喜勿喷。

原创粉丝点击