欢迎来到天天文库
浏览记录
ID:46823749
大小:73.50 KB
页数:4页
时间:2019-11-28
《求二叉树的高度》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#defineMAX10001//树节点typedefstructnode{chark;structnode*lchild;structnode*rchild;}Node;intmax(intm,intn){if(m>n)returnm;elsereturnn;}//获取二叉树的高度intTreeHeight(Node*root){if(root==NULL)return0;elsereturn1+max(TreeHeight(r
2、oot->lchild),TreeHeight(root->rchild));}//建立二叉树Node*BuildTree(char*tree){Node*root,*newnode,*stack[MAX];inti=0,top=-1,flag=0;root=newnode=NULL;while(tree[i]!=' '){switch(tree[i]){case'(':top++;stack[top]=newnode;flag=0;break;case')':top--;break;case',
3、':flag=1;break;default:newnode=(Node*)malloc(sizeof(Node));newnode->k=tree[i];newnode->lchild=newnode->rchild=NULL;if(root==NULL)root=newnode;else{if(!flag)stack[top]->lchild=newnode;elsestack[top]->rchild=newnode;}break;}i++;}returnroot;}//释放二叉树voidDe
4、stroyTree(Node*root){if(root==NULL)return;else{DestroyTree(root->lchild);DestroyTree(root->rchild);free(root);}}intmain(){chartree[MAX];Node*root=NULL;printf("请输入一个二叉树:");scanf("%s",tree);root=BuildTree(tree);printf("二叉树的深度:%d",TreeHeight(root));Dest
5、royTree(root);return0;}
此文档下载收益归作者所有