欢迎来到天天文库
浏览记录
ID:57017032
大小:70.00 KB
页数:3页
时间:2020-07-30
《二叉树 叶子 深度.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include"stdlib.h"#defineOK1#defineOVERFLOW-1typedefstructBiTNode{chardata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;CreateBiTree(BiTree&T){charch;scanf("%c",&ch);if(ch=='#')T=NULL;else{if(!(T=newBiTNode))exit(OVERFLOW);T->data=ch
2、;CreateBiTree(T->lchild);CreateBiTree(T->rchild);}returnOK;}voidPreorder(BiTreeT,int(*visit)(chare)){if(T){visit(T->data);Preorder(T->lchild,visit);Preorder(T->rchild,visit);}}visit(chare){printf("%c",e);returnOK;}Depth(BiTreeT){intl,r,s;if(!T)s=0;els
3、e{l=Depth(T->lchild);r=Depth(T->rchild);s=(l>r?l:r)+1;}returns;}leaf(BiTreeT){BiTreeb;b=T;if(b==NULL)return0;elseif(b->lchild==NULL&&b->rchild==NULL)return1;elsereturn(leaf(b->lchild)+leaf(b->rchild));}/*voidswap(BitreeT){BiTreep;if(T!=NULL){p=T->lchi
4、ld;T->lchild=T->rchild;T->rchild=p;swap(T->lchild);swap(T->rchild);}}*/voidmain(){BiTreeT;printf("请先序输入二叉树:");CreateBiTree(T);printf("先序递归遍历二叉树:");Preorder(T,visit);printf("二叉树的叶子数=%d",leaf(T));printf("二叉树的深度=%d",Depth(T));}
此文档下载收益归作者所有