📄 printtree.cpp
字号:
#include"head.h"
void coprint(Huffmantree start,Huffmantree HT,int numb)
{
if(start!=HT) //判断赫夫曼树有没有到达叶子节点,如果赫夫曼树没有到达叶子节点
{
FILE * TreePrint;
if((TreePrint=fopen("TreePrint.txt","a"))==NULL)
{
printf("创建文件失败\n");
return;
}
numb++;//该变量为已被声明为全局变量 子树的输出长度当从递归函数返回时上层的numb保持不变是靠下面的numb--完成的
coprint(HT+start->rchild,HT,numb); //先递归看右子树,直到到达叶子节点
printf("(%5*numb)d",start->weight); //setw()函数是设置域宽
fprintf(TreePrint,"%d\n",start->weight);
coprint(HT+start->lchild,HT,numb); //再递归看左子树,直到到达叶子节点
numb--; //保证了当下层的函数返回是numb保持不变
fclose(TreePrint);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -