FILE *fp6;
void dispHT(HuffmanTree HT6,int level,HuffmanTree HT)//以缩进的方式输出赫夫曼树
{
if (HT6->rchild>0)
{
dispHT(HT+HT6->rchild,level+1,HT);
}
int i=0;
for (;i<level;i++)
{
if (i<level-1)
{
printf(" ");
outstuf<<" ";
}
else
{
printf("abcdefg");
outstuf<<"abcdefg";
}
}
printf("%d\n",HT6->weight);
outstuf<weight<<endl;
if (HT6->lchild>0)
{
dispHT(HT+HT6->lchild,level+1,HT);
}
fclose(fp6);
}
int main()
{
outstuf.open("TreePrint.txt",ios::out);
dispHT(HT+53,1,HT);
outstuf.close();
}
FILE *fp6;
void dispHT(HuffmanTree HT6,int level,HuffmanTree HT)//以缩进的方式输出赫夫曼树
{
if (HT6->rchild>0)//如果右节点大于0
{
dispHT(HT+HT6->rchild,level+1,HT);//递归调用右节点
}
int i=0;
for (;i<level;i++)//变量当前层数
{
if (i<level-1)//如果不是最后一层输出空格
{
printf(" ");
outstuf<<" ";
}
else
{
printf("abcdefg");//最后一层时输出
outstuf<<"abcdefg";
}
}
printf("%d\n",HT6->weight);//输出当前节点权重
outstuf<weight<<endl;
if (HT6->lchild>0)//如果左节点大于0
{
dispHT(HT+HT6->lchild,level+1,HT);//递归调用左节点
}
fclose(fp6);
}
int main()
{
outstuf.open("TreePrint.txt",ios::out);//打开文件
dispHT(HT+53,1,HT);
outstuf.close();//关闭文件
}