printtree.cpp

来自「用C++编写的哈弗曼树的源代码,方便C语言及C++初学者学习交流」· C++ 代码 · 共 22 行

CPP
22
字号
#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 + =
减小字号Ctrl + -
显示快捷键?