📄 202644.cpp
字号:
#include<iostream.h>
typedef char TElemtype ;
//创建结构体============================================================
typedef struct BiTNode
{
TElemtype data;
BiTNode *lchild,*rchild,*parent;
} *BiTree;
//先序序列创建二叉数=====================================================
void CreateBiTree(BiTree &T,char s[],int &i)
{
i++;
if(s[i]=='#') T=NULL;
else
{
T=new BiTNode;
T->data=s[i];
CreateBiTree(T->lchild,s,i);
CreateBiTree(T->rchild,s,i);
}
}
//用于调用的创建二叉树函数================================================
void CreateBiTree(BiTree &T,char s[])
{
int i=-1;
CreateBiTree(T,s,i);
}
//创建深度函数============================================================
int Depth(BiTree T)
{
int dl,dr;
if(!T) return 0;
dl=Depth(T->lchild);
dr=Depth(T->rchild);
return dl>dr?dl+1:dr+1;
}
//构建函数查找结点处值为X的子树的深度=====================================
void XDepth(BiTree T,TElemtype x)
{
if(!T) return ;
if(x==T->data)
{
cout<<"以"<<x<<"为根的子树的深度为 "<<Depth(T)<<endl;
return;
}
XDepth(T->lchild,x);
XDepth(T->rchild,x);
}
//主函数=====================================================================
void main()
{
BiTree T;
char s[]={'A','B','D','#','#','#','C','E','#','F','#','#','#'};
CreateBiTree(T,s);
XDepth(T,'C');
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -