#include<stdlib.h>
#include<iostream>
using namespace std;
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;
} BiTNode,*BiTree;
void CreateBiTree(BiTree &T){
char ch;
cin>>ch;
if(ch=='*') T=NULL;
else
{
T=(BiTNode *)malloc(sizeof(BiTNode));
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
void Preorder(BiTree T)
{
if(T!=NULL)
{
printf("%c ",T->data);
Preorder(T->lchild);
Preorder(T->rchild);
}
}
void Inorder(BiTree T)
{
if(T!=NULL)
{
Inorder(T->lchild);
printf("%c ",T->data);
Inorder(T->rchild);
}
}
void Exchange(BiTree &T)
{
BiTree temp;
if(T!=NULL)
{
temp=T->lchild;
T->lchild=T->rchild;
T->rchild=temp;
Exchange(T->lchild);
Exchange(T->rchild);
}
}
int main(){
BiTree T;
CreateBiTree(T);
Exchange(T);
Preorder(T);
printf(" ");
Inorder(T);
system("pause");
return 0;
}
DYJ-二叉树递归
最新推荐文章于 2025-05-05 08:35:54 发布