#include <stdio.h>
#include <stdlib.h>
typedef struct node
{struct node *lchild;
int data;
struct node *rchild;
}node,bnode;
/*插入一个元素*/
void insert(bnode *root,int e)
{ if (*root == NULL)
{ (*root)=(node *)malloc(sizeof(node));
(*root)->data = e;
(*root)->lchild = (*root)->rchild=NULL;
/*以叶形式加入二叉树*/
}
else
if(e<(*rooot)->data)
insert(&(*root)->lchild),e);
else insert(&((*root)-.rchild),e);
}
/* 中序遍历 */
void inorder(mode *root)
{ if(root)
{ inorder(root->lchild;
printf(%d",root->data);
}
}
/*前序遍历 */
void preorder(node *root)
{if(root)
{printf("%d",root->data);
preorder(root->lchild);
preorder(root->rchild);
}
}
/*主程序*/
void main()
{ node *root;
int x;
root = NULL;
printf('Input data elements: /n");
do
{SCANF("%D",&X);
insert(&root,x);
}
while(getchar()!='/n');
inorder(root);
putchar('/n');
preorder(root);
putchar('/n');
}