二叉树创建

来源:互联网 发布:跟淘宝联盟类似的网站 编辑:程序博客网 时间:2024/05/22 01:32
/*------ 建立一棵二叉树 Version I -------*//*--- 指针作函数参数,将树T得root节点地址传递过来---*/void creatBT(BiTree *T)  {      char ch;      /*读入字符 */     scanf("%c",&ch);    /*#代表空子树*/    if(ch=='#')      /*第一个节点为#,为空树*/        *T = NULL;      else      {          *T = (node *)malloc(sizeof(node));          if(!T)          {              printf("开辟内存失败\n");              exit(1);          }          /*给T赋值 */         (*T)->data = ch;        /*给左子树赋值*/        creatBT(&(*T)->lchild);        /*给右子树赋值*/        creatBT(&(*T)->rchild);     }  }  /*------ 建立一棵二叉树 Version II -------*//*------ 指针函数返回树得root节点得地址 ----*//*---------- 创建一棵二叉树 --------------*/BiTree creatBT(){      BiTree T;      char ch;       /*读入字符 */     scanf("%c",&ch);      if(ch=='#')     /*#代表空子树*/        T = NULL;      else      {          T = (node *)malloc(sizeof(node));          if(!T)          {              printf("开辟内存失败\n");              exit(1);          }           /*给T赋值 */         T->data = ch;           /*给左子树赋值*/        T->lchild = creatBT();           /*给右子树赋值*/        T->rchild = creatBT();     }      return T;  }  
0 0
原创粉丝点击