#include using namespace std; #define MAXSIZE 100 typedef char TElemType; typedef TElemType SqBiTree[MAXSIZE]; SqBiTree bt; typedef struct BiTNode { TElemType data; struct BiTNode *lchild, *rchild; }BiTNode; typedef BiTNode *BiTree; void InOrderTraverse(BiTree T) { if(T) { InOrderTraverse(T->lchild); cout<data<<endl; InOrderTraverse(T->rchild); } } int Depth(BiTree T) { int m,n; if(T==NULL) return 0; else { m=Depth(T->lchild); n=Depth(T->rchild); return (m>n?m:n)+1; } } void CreateBiTree(BiTree &T) { char ch; cin>>ch; if(ch=='#') T=0; else { T=new BiTNode; T->data=ch; CreateBiTree(T->lchild); CreateBiTree(T->rchild); } } int main() { BiTree T; CreateBiTree(T); InOrderTraverse(T); cout<<Depth(T); return 0; }

C++ 二叉树实现:深度计算与中序遍历

原文地址: https://www.cveoy.top/t/topic/pl3H 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录