求高人看看这程序哪有问题,编译连接均无误。霍夫曼编码的问题,运行所有的编码都是乱码。不是01序列。

[复制链接]
查看11 | 回复4 | 2011-12-23 10:12:27 | 显示全部楼层 |阅读模式
void hulfman::make_link(){
int i,j,min1=100000,min2=100000;
for(i=128;i<=8200;i++)
{
for(j=1;j<=8200;j++)
{
if((a.parent==NULL)&&(a.weight!=0))
{
if(a.weight<min1) min1=a.w...
回复

使用道具 举报

千问 | 2011-12-23 10:12:27 | 显示全部楼层
make_link函数肯定是有问题的。你的i从128开始循环,而下标在128之后的a的weight域肯定是0啊。因为你输入的字符的ASCII码肯定是小于128的,只有a[0]到a[127]的weight才有可能是大于0的。...
回复

使用道具 举报

千问 | 2011-12-23 10:12:27 | 显示全部楼层
make_code 最后的strcpy写错了strcpy是把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间...
回复

使用道具 举报

千问 | 2011-12-23 10:12:27 | 显示全部楼层
抱歉啊!C++我还不太精通,不过我觉得这好像是转码问题,我也不太清楚怎么用...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行