最大密度:二叉树节点数值的最大值
如果没有输出结果,一定是建树错误!!!!!!!
我设置输入的是字符型数据,比较的ASCII值。
输入:FBE###CE###
输出:F
树形:

- #include "bits/stdc++.h"
- using namespace std;
- typedef struct BiTNode{
- char data;
- struct BiTNode *lchild,*rchild;
- int tag;
- }BiTNode,*BiTree;
-
- void createTree(BiTree &t){
- char ch;
- ch=getchar();
- if (ch=='#') t=NULL;
- else{
- t=(BiTNode *) malloc(sizeof (BiTNode));
- t->data=ch;
- t->tag=0;
- t->lchild=NULL;
- t->rchild=NULL;
- createTree(t->lchild);
- createTree(t->rchild);
- }
- }
- int btDepth(BiTree t){
- char q;
- if (!t)
- return 0;
- int front=-1,rear=-1;
- BiTree Q[100];
- Q[++rear]=t;
- q=t->data;
- BiTree p;
- while (front
- p=Q[++front];
- if (q
data) - q=p->data;
- if (p->lchild)
- Q[++rear]=p->lchild;
- if (p->rchild)
- Q[++rear]=p->rchild;
- }
- return q;
- }
- int main() {
- BiTree t;
- createTree(t);
- printf("%c", btDepth(t));
- }