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')); 
}