递归建立二叉树

来源:互联网 发布:mysql insert select 编辑:程序博客网 时间:2024/05/18 06:18

第一次建立二叉树,终于实现了,之前一直看书,非常枯燥,看得想睡觉。

现在有兴趣把刚刚落下的东西补起来了。


#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##*/