num=Translate(ArrayList,transcode,transcode_result); //调用译码函数
printf(\输出编码结果:\\n\ for(i=1;i<=j;i++) {
printf(\ puts(ArrayList[i].code); }
printf(\译码结果是:\\n\ for(i=0;i printf(\ } printf(\ return 0; } 四. 运行结果 五. 实验总结 在这次实验中,利用哈夫曼树进行编码,由于参考书中的哈夫曼编码的原理以及书中的算法,思路很明确,但在实现的过程中依然遇到了不少问题。首先是自己定义的结构体类型初始化的问题。利用原先那种“{}“初始化方法,再编译时总是出现错误,但在语法上没有错误。后来查询了MSDN,了解到这种错误在于自己定义的结构体在初始化时要利用一个构造函数。 其次是统计你输入的一段字符串中出现的各种字符以及出现的次数。我在做的过程中由于不知道要建立数组的长度,在动态创建的过程中,总是出现未利用的空间出现乱码。后来我通过专门建立一个变量来统计用到的数组长度,终于解决了这个问题。