#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "LinkStack.h" //自定义头文件含二叉树结构体等及栈和队列的函数
int Parent_flag=0;
void CreateBiTree(BiTree &T){
int i;
scanf("%d",&i);
if(i==0)
T=NULL;
else{
T=(BiTNode*)malloc(sizeof(BiTNode));
T->data=i;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
void DestoryBiTree(BiTree &T){
if(T!=NULL){
if(T->lchild){
DestoryBiTree(T->lchild);
T->lchild=NULL;
}
if(T->rchild){
DestoryBiTree(T->rchild);
T->rchild=NULL;
}
free(T);
T=NULL;
}
}
void Visit(BiTree T){
if(T==NULL){
printf("NULL\n");
return;
}
else{
printf("%d ",T->data);
return;
}
}
void BiTreeEmpty(BiTree T){
if(T)
printf("T isn't Empty\n");
else
printf("T is Empty\n");
}
BiTree Root(BiTree T){
if(T)
return T;
else
return NULL;
}
void Locate(BiTree T,int e,BiTree &S){
if(T!=NULL){
if(T->data==e){
S=T;
}
else{
Locate(T->lchild, e, S);
Locate(T->rchild, e, S);
}
}
}
void Find_Parent(BiTree T,BiTree E,BiTree &S){
if(E==NULL){
S=NULL;
return;
}
if(T!=NULL){
if(T->lchild==E||T->rchild==E){
Parent_flag=1;
S=T
二叉树的基本操作(含递归遍历及非递归遍历算法)
最新推荐文章于 2021-05-02 18:03:38 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)