#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#define maxsize 20
using namespace std;
typedef struct BTNode{
char data;
BTNode *lchild;
BTNode *rchild;
}BTNode;
typedef struct{
BTNode *p;
int lno;
}St;
void create(BTNode *&p) //先序遍历创建二叉树
{
char k;
scanf("%c",&k);
if(k=='#') p=NULL;
else
{
p=(BTNode *)malloc(sizeof(BTNode));
p->data=k;
create(p->lchild);
create(p->rchild);
}
}
int all(BTNode *p) //后序遍历
{
int n1,n2;
if(p==NULL) return 0;
else
{
n1=all(p->lchild);
n2=all(p->rchild);
return n1+n2+1;
}
}
int leaf(BTNode *p) //后序
{
int n1,n2;
if(p==NULL) return 0;
else if(p->lchild==NULL&&p->rchild==NULL) return 1;
else
{
n1=leaf(p->lchild);
n2=
求二叉树中值为x的节点的层号
最新推荐文章于 2025-04-06 16:15:21 发布