poj 1521 Entropy huffman(哈夫曼)编码 (三)

2014-11-24 01:24:07 · 作者: · 浏览: 12
{'E','N','D','\0'};
while(gets(s)&&strcmp(s,cmp)!=0)
{
lens=strlen(s);
lentree=0;
memset(flag,-1,sizeof(flag));
memset(a,0,sizeof(a));
for(int i=0;i {
if(flag[i]!=-1)
a[flag[i]].val++;
else
{
a[lentree].c=s[i];
a[lentree].val++;
for(int j=i+1;j if(s[j]==s[i])
flag[j]=lentree;

lentree++;
}
}
pcodelen=8*lens; //ASCII编码长度就为字符串长度乘8
execute();
ans=(double)pcodelen/(double)nowcodelen;
cout< cout< if((ans-floor(ans))<0.1) //如果ans小数点后一位为0,则输出个整数
cout< else
cout< }
return 0;
}