?? 11 treedeep123.cpp
字號:
#include <malloc.h>
#include <stdlib.h>
#include <stdio.h>
#define NULL 0
#define OVERFLOW 0
typedef struct BiTNode //定義線性鏈表
{
char data;
struct BiTNode *lchild;
struct BiTNode *rchild;
}*BiTree;
int i,j;
void CreateBiTree(BiTree &T) //先序擴展序列建立樹的遞歸算法
{
char ch;
scanf("%c",&ch);
if (ch=='@')
{
T = NULL;
}
else
{
if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))
{
exit(OVERFLOW);
}
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
void LastOrder (BiTree T) //后序遍歷樹的遞歸算法
{
if (T)
{
i++;
LastOrder(T->lchild);
if(i>j)j=i; //j記錄樹曾達到的最大深度
LastOrder(T->rchild);
}i--;
}
void main()
{
printf("請按先序擴展序列輸入所對應的樹,空用@表示:\n");
int deep;
i=0;j=0;
BiTree a;
CreateBiTree(a);
LastOrder(a);
deep=j+1;
printf("\n樹的深度deep=%d",deep);
printf("\n");
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -