如何在此代码中解决运行时错误以创建树...?

时间:2016-09-18 17:26:09

标签: tree runtime-error

/ *这是一个使用结构创建树的程序。

#include<stdio.h>

/ 树结构 用于创建树

struct tree{
    int data;                   
    struct tree *left;
    struct tree *right;
    };

/ 在树中插入元素的功能 /

void insert(struct tree *bt,int data)
{
    if(bt==NULL){
        bt=(struct tree*)malloc(sizeof(struct tree));
        bt->data=data;
        bt->left=NULL;
        bt->right=NULL;
        }
    else if(data<bt->data)
        insert(&(bt->left),data);
    else if(data>bt->data)
        insert(&(bt->right),data);

}

/ 插入元素 调用函数insert。 /

void main(){
    struct tree *bt=NULL;
    insert(&bt,1);
    insert(&bt,6);            
    insert(&bt,12);            
    insert(&bt,87);
    inorder(&bt);
}

/ 按顺序遍历 / //递归调用函数//

void inorder(struct tree *root){
    if(root!=NULL){
        inorder(root->left);
        printf("%d",root->data);          
        inorder(root->right);
    }
}

1 个答案:

答案 0 :(得分:0)

这可能是因为一棵树包含一棵树,其中包含一个树指针,其中包含一个树指针,等等......(即使你没有初始化或“分配”任何东西,CPP编译器也很奇怪)

没有它给你的错误,我做不了多少。