/*这是一个在字符环境中,用ASCII码打印二叉树形状的算法。
采用层次遍法。
算法拙劣,仅供初学者做练习,(本人也是初学者,自学数据结构,刚好学到这二叉树这一章,搞几个二叉的例题,却不知道其构造形状,想调用图形API做个美观点的,却有点偏离本章的学习目的,只好用字符打印,linux环境中打印的还可以,DOS屏幕如果不够宽您输出到文本,如果您有更好的算法一定不吝赐教。
我的QQ:137241638mail:hnflcp@139.com*/voidPBTNodePrint(PBTNode*pb[],intn,inth){ intl=-1, r=0, i,j,k, end; charc; PBTNode*p; if(ndata); 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");}//循环打印所有层的数据
1