随便说说,这样太麻烦了。有兴趣看一下下面的代码
// ex1.cpp : 定义控制台应用程序的入口点。//
#include "stdafx.h"
# include
using namespace std;
typedef char telemtype;
typedef struct bitnode
{
telemtype data;
bitnode *lchild,*rchild;
}* bitree;
void copybitree(bitree t)
{
bitree t2;
if(!t)
return;
t2=t->lchild ;
t->lchild =t->rchild ;
t->rchild =t2;
copybitree(t->lchild);
copybitree(t->rchild);
}
void createbitree(bitree &t,char s[],int &i)
{
i++;
if(s[i]=='#')
{
t=NULL;
return;
}
t=new bitnode;
t->data=s[i];
createbitree(t->lchild,s,i);
createbitree(t->rchild,s,i);
}
void createbitree(bitree &t,char s[])
{
int i=-1;
createbitree(t,s,i);
}
void out(bitree t)
{
if(!t)
cout<<"#";
else
{
cout<
out(t->lchild);
out(t->rchild);
}
}
int main()
{
bitree a;
cout<<"将先序序列为ABC###DE##F##的二叉树中所有节点的左、右子树相互交换后为(其中#代表该节点为空):"<
copybitree(a);
out(a);
cout<
return 0;
}
没错,你认真画个图,我画出来,你运行的结果
还有就是代码,没问题,我都认真看了一下
如果有问题,请指出那里?