#define Nil 0
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode{
int data;
BiTNode *lchild,*rchild;
}*BiTree;
void CreateBiTree(BiTree &T){
int val;
T=(BiTNode*)malloc(sizeof(BiTNode));
if(!T){
printf("分配内存失败\n");
exit(-1);
}
printf("请输入节点的值\n");
scanf("%d",&val);
if(val==NULL) T=NULL;
else{
T->data=val;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
void PreOrderTraverse(BiTree T){
if(T){
printf("%3d",T->data);
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
}
void Print(BiTree T){
if(T){
printf("%3d",T->data);
Print(T->lchild);
Print(T->rchild);
}
}
void MirrorOfBinaryTree(BiTree &T){
if(T==NULL)
return;
if(T->lchild==NULL&&T->rchild==NULL)
return;
BiTNode* temp=T->lchild;
T->lchild=T->rchild;
T->rchild=temp;
if(T->lchild)
MirrorOfBinaryTree(T->lchild);
if(T->rchild)
MirrorOfBinaryTree(T->rchild);
}
void main(){
BiTree T;
CreateBiTree(T);
Print(T);
MirrorOfBinaryTree(T);
Print(T);
}
MirrorOfBinaryTree
最新推荐文章于 2024-05-11 16:45:25 发布