C语言,帮忙看一下代码

来源:百度知道 编辑:UC知道 时间:2024/05/29 16:10:10
二叉树左右子树的交换:

#include<stdio.h>
#include<stdlib.h>
#define ERROR 0
#define OK 1

typedef struct Bitree{
char data;
Bitree *lchild,*rchild;
}Bitree,*tree;

//创建树
int creattree(tree &T){
char ch;
printf("Input the data()");
scanf(" %c",&ch);
if(ch=='#')T==NULL;
else
{
if(!(T=(Bitree *)malloc(sizeof(Bitree))))
return ERROR;
T->data=ch;
creattree(T->lchild);
creattree(T->rchild);
}
return OK;
}

int exchange(tree &T){
Bitree *p;
if(!(p=(Bitree *)malloc(sizeof(Bitree))))
return ERROR;
if(T!=NULL){
p=T->lchild;
T->lchild=T->rchild;
T->rchild=p;
exchange(T->lchild);
exchange(T->rchild);
}
return OK;
}

int main(){
tree T;
int e;
T=(Bitree *)malloc(sizeof(Bitree)

#include<stdio.h>
#include<stdlib.h>

#define ERROR 0
#define OK 1

typedef struct Bitree{
char data;
struct Bitree *lchild,*rchild;
}Bitree,*tree;

//创建树
int creattree(tree *T)
{
char ch;
printf("Input the data()");
scanf(" %c",&ch);
if(ch=='#')
(*T) = NULL;
else
{
if(!((*T)=(Bitree *)malloc(sizeof(Bitree))))
return ERROR;
(*T)->data=ch;
creattree(&((*T)->lchild));
creattree(&((*T)->rchild));
}
return OK;
}

int exchange(tree T)
{
Bitree *p = NULL;
// if(!(p=(Bitree *)malloc(sizeof(Bitree))))
// return ERROR;
if(T!=NULL)
{
p=T->lchild;
T->lchild=T->rchild;
T->rchild=p;
exchange(T->lchild);
exchange(T->rchild);
}
return OK;
}

int main()
{
tr