上传者: hne71 
                                    |
                                    上传时间: 2019-12-21 18:50:08
                                    |
                                    文件大小: 6KB
                                    |
                                    文件类型: c
                                
                            
                                
                            
                                /*这是一个在字符环境中,用ASCII码打印二叉树形状的算法。
采用层次遍法。
算法拙劣,仅供初学者做练习,(本人也是初学者,自学数据结构,刚好学到这二叉树这一章,搞几个二叉的例题,却不知道其构造形状,想调用图形API做个美观点的,却有点偏离本章的学习目的,只好用字符打印,
linux环境中打印的还可以,DOS屏幕如果不够宽您输出到文本,如果您有更好的算法一定不吝赐教。我的QQ:137241638 mail:hnflcp@139.com*/
void PBTNodePrint(PBTNode *pb[],int n,int h)
{
	int l=-1,
					r=0,
					i,j,k,
					end;
	char c;
	PBTNode *p;
	if(n<=0||hlevel==1)
	{
		for(i=0;ispace;i++)
			printf(" ");
		printf("%c",pb[0]->data);
		printf("\n");
		return;
	}
	h=h-pb[0]->level+2;
	for(k=0;kparent->space;
			for(;jlrflag==0)?'/':'\\';
			printf("%c",c);
		}
		printf("\n");
	}
	for(i=0;ilrflag==0)
			p->space=p->parent->space+l;
		else
			p->space=p->parent->space+r;
	}
	for(i=0,j=0;idata);
	}
	printf("\n");
}
//循环打印所有层的数据