最近在学二叉树的建立,自己尝试着编了一个二叉树,然而在运行时出错了,程序自动关闭。不知道问题出在哪,求大神指导
#include
#include
typedef struct tnode Tnode;
struct tnode
{
Tnode *left;
Tnode *right;
int data;
};
Tnode *new_tnode(int data)
{
Tnode *new = malloc(sizeof(Tnode));
new->left=NULL;
new->right=NULL;
new->data=data;
return new;
}
void insert(Tnode *root,Tnode *tree)
{
if(root==NULL)
{
tree=root;
return;
}
if(root->datadata)
{
insert(root,tree->left);
}
else if(root->data>tree->data)
{
insert(root,tree->right);
}
}
void printout(Tnode *tree)
{
if(tree->left)
{
printout(tree->left);
}
printf("%d",tree->data);
if(tree->right)
{
printout(tree->right);
}
}
int main()
{
Tnode *tree=NULL;
int i;
int data;
for(i=0;i<10;i++)
{
scanf("%d",data);
insert(new_tnode(data),tree);
}
return 0;
}