回 帖 发 新 帖 刷新版面

主题:关于建二叉树的疑问

/*这是我写的建立二叉树的代码!但一运行就是出错!不知道咋回事!!高手帮下!!谢了!*/
#include "stdio.h"
#include <stdlib.h>
typedef int ElemType; 
typedef struct TreeNode
{
    struct TreeNode *lchild,*rchild;
    ElemType data;
}TreeNode,*BiTree;
int  CreateTree(BiTree &T)
{   
    if(T=NULL)
           return0;
    ElemType e=0;
    T->lchild=NULL;
    T->rchild=NULL;
    printf("请输入值构造树\n");
    scanf("%d",e);
    
    
    if(e!=NULL)
    {
        T->data=e;
    CreateTree(T->lchild);
    CreateTree(T->rchild);//利用递归实现先序构造树
    }
    return 1;
}
void main()
{  
    //ElemType e;
    //根据输入的数据构造树
    BiTree T;
    T=(BiTree)malloc(sizeof(TreeNode));
    CreateTree(T);//构造空树
    
}

回复列表 (共1个回复)

沙发


/*这是我写的建立二叉树的代码!但一运行就是出错!不知道咋回事!!高手帮下!!谢了!*/
#include "stdio.h"
#include <stdlib.h>
#include <iostream.h>
typedef int ElemType; 
typedef struct TreeNode
{
    struct TreeNode *lchild,*rchild;
    ElemType data;
}TreeNode,*BiTree;
int  CreateTree(BiTree &T)
{   
    if(T==NULL)//这里应该是==
           return 0;
    ElemType e=0;
    T->lchild=NULL;
    T->rchild=NULL;
    printf("请输入值构造树\n");
    scanf("%d",&e);//这里少了个&
    
    
    if(e!=NULL)
    {
        T->data=e;
    CreateTree(T->lchild);
    CreateTree(T->rchild);//利用递归实现先序构造树
    }
    return 1;
}
void main()
{  
    //ElemType e;
    //根据输入的数据构造树
    BiTree T;
    T=(BiTree)malloc(sizeof(TreeNode));
    CreateTree(T);//构造空树
    

我来回复

您尚未登录,请登录后再回复。点此登录或注册