码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构上机考试(楷神版)//修正二叉树

时间:2014-12-17 20:36:25      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:blog   ar   sp   数据   div   2014   问题   log   bs   

Node* BuildTree(int m){//这是错误的二叉树建立方法//空的情况不能判断
    if(m > n) return NULL;
    printf("请输入%d/%d号结点的值:",m,n);
    Node *node = (Node*)malloc(sizeof(Node));
    int v;
    scanf("%d",&v);
    node -> value = v;
    node -> left  = BuildTree(m * 2);
    node -> right = BuildTree(m * 2 + 1);
    return node;
}

  我觉得这个二叉树有问题,只能处理比较完整的二叉树,一旦二叉树中有一些空的节点时,就不能解决问题了。

      以下附上我的代码:

/*
*二叉树建立方法一
*2014.12.17
*/
root create_(){
     root n;
     char v;
     v=getchar();
     if(v==‘ ‘)
          return NULL;
     else {
          if(!(n=(node*)malloc(sizeof(node))))
          {
              printf("分配内存失败");
              exit(1);
          }
          n->data=v;
          n->left=create_();
          n->right=create_();
          return n;
     }

}

  

/*
*二叉树建立方法二
*2014.12.17
*/
void create_(root *t)
{
    char v;
    scanf("%c",&v);


    if(v==‘ ‘)
    {
        *t=NULL;
    }

    else {
        
          if(!(*t=(node*)malloc(sizeof(node))))
          {
              printf("分配内存失败");
              exit(1);
          }
         (*t)->data=v;
         create_(&((*t)->left));
         create_(&((*t)->right));
    }
    return ;
}

  

数据结构上机考试(楷神版)//修正二叉树

标签:blog   ar   sp   数据   div   2014   问题   log   bs   

原文地址:http://www.cnblogs.com/yang95/p/4170136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!