文件名称:按二叉树的形状打印二叉树
文件大小:1KB
文件格式:CPP
更新时间:2011-12-31 14:12:05
按二叉树的形状打印二叉树 打印二叉树 typedef struct Node//定义一个二叉树结点的结构体 { char data; //每个结点的数值 int num; //数没个结点的编号 struct Node * LChild; struct Node * RChild; }BiTNode,* BiTree; int a=0; void CreateBiTree(BiTree * bt)//创建一个二叉树 { char ch; ch=getchar(); //逐个的为结点赋值 if(ch==' ') * bt=NULL; else { * bt=(BiTree)malloc(sizeof(BiTNode)); (* bt)->data=ch; CreateBiTree(&((* bt)->LChild));//遍历左子树 CreateBiTree(&((* bt)->RChild));//遍历右子树 } } void posttree(BiTNode *bt) //通过后序遍历,给元素进行编号 { if(bt!=NULL) { bt->num=++a; //通过全局变量,给结点元素编号 posttree(bt->LChild); //遍历右子树 posttree(bt->RChild); //遍历左子树 } } /*按数的形状打印竖向二插树*/ void PrintTree(BiTNode *bt,int nLayer) { if(bt==NULL) return; PrintTree(bt->RChild, nLayer+4); for(int i=0;i