1
/*这是一个使用结构创建树的程序。如何解决此代码中用于创建树的运行时错误...?
#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);
}
/插入元件 调用函数插入。/
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);
}
}
你能给我一个正确的一段代码吗? – Akshansh
尝试将引用设置为“NULL”,以便编译器不对其进行初始化。例如:struct tree * left = NULL;如果您向我提供运行时错误,我可能会多一点帮助。上面的解决方案修复了一个坏编译器的堆栈溢出错误。 –