二叉树的建立及遍历

来源:互联网 发布:奶牛场优化养殖 编辑:程序博客网 时间:2024/05/19 18:14
#include<iostream>  using namespace std;  typedef struct node  {      struct node *lchild;      struct node *rchild;      char data;  }BiTreeNode, *BiTree;  BiTree T;void createBiTree(BiTree &T)  {      char c;      cin >> c;      if('#' == c)          T = NULL;      else      {          T = new BiTreeNode;          T->data = c;          createBiTree(T->lchild);          createBiTree(T->rchild);      }  }  void pre(BiTree T){    if(T)    {        printf("%c ",T->data);        pre(T->lchild);        pre(T->rchild);    }}void center(BiTree T){    if(T)    {        center(T->lchild);        printf("%c ",T->data);        center(T->rchild);    }   }void after(BiTree T){    if(T)    {    after(T->lchild);    after(T->rchild);        printf("%c ",T->data);    }   }void ShowTraverseResult()//显示遍历结果{    printf("先序遍历结果:");    pre(T);    printf("\n\n");    printf("中序遍历结果:");    center(T);    printf("\n\n");    printf("后序遍历结果:");    after(T);    printf("\n");}int main()  {      createBiTree(T);      ShowTraverseResult();    return 0;  }  
原创粉丝点击