www.pudn.com > Hf.zip > Hf.cpp
#include#include int num10=0; struct node { int data; int parent; int lchild; int rchild; }; int found(node ht[]){ int quan[30]; int quandata=-1; int count; int i,j=0,k,l=0,m; for(i=0;i<30;i++) { quan[i]=-1; } cout<<"-----本程序是解决哈夫曼编码,译码,和树的打印的程序----"< >quandata; if(quandata!=0) { quan[j]=quandata; j++; } }while(quandata!=0); for(k=0;k<32;k++) { ht[k].parent=0; ht[k].lchild=0; ht[k].rchild=0; ht[k].data=-1; } do{ if(quan[l]!=-1) { ht[l].data=quan[l]; l++; } }while(quan[l]!=-1); count=l; for( m=count;m<2*count-1;m++) { int s1,s2; int num1,num2; s1=s2=65535; for(int n=0;n >num5; if((num5!=0)&&(num5!=1)&&(num5!=-1)) { cout<<"输入错误,请重新输入"< num3) { num3=ht[z].data; num4=z; } } p=num4; cout<<"译码后为:"< >num10; if(num6<=num9&&num6>0) { print( num9,ht[num6].rchild,ht,level+1); indentblanks(6*(level-1)); if((ht[num6].lchild!=0)||(ht[num6].rchild!=0)) cout< >y; }while((y=='y')||(y=='Y')); }