第一次建立二叉树,终于实现了,之前一直看书,非常枯燥,看得想睡觉。
现在有兴趣把刚刚落下的东西补起来了。
#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## */