第一次建立二叉树,终于实现了,之前一直看书,非常枯燥,看得想睡觉。
现在有兴趣把刚刚落下的东西补起来了。
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
typedef struct node
{
struct node *leftchild;
struct node *rightchild;
char data;
} bitreenode,*bitree;
void createTree(bitree &T)
{
char ch;
cin>>ch;
if(ch=='#')T=NULL;
else
{
T=new node;
T->data=ch;
createTree(T->leftchild);
createTree(T->rightchild);
}
}
void preTraverse(bitree &T)
{
if(T==NULL)return ;
cout<<T->data;
preTraverse(T->leftchild);
preTraverse(T->rightchild);
}
void intraverse(bitree &T)
{
if(T==NULL)return ;
intraverse(T->leftchild);
cout<<T->data;
intraverse(T->rightchild);
}
void posttraverse(bitree &T)
{
if(T==NULL)return ;
posttraverse(T->leftchild);
posttraverse(T->rightchild);
cout<<T->data;
}
int main()
{
int i,j,k;
node *T;
createTree(T);
cout<<endl;
preTraverse(T);
cout<<endl;
intraverse(T);
cout<<endl;
posttraverse(T);
return 0;
}
/*
AB#D##C#E##
*/