#include typedef struct node { int data; struct node *left, *rite; } tree; tree* node(int k) { tree *temp = (tree*) malloc(sizeof(tree), 1); temp->left = temp->rite = 0; temp->data = k; return(temp); } int main(int argc, char* argv[]) { int n; tree *root = 0; while(scanf("%d", &n) != EOF) insert(node(n), &root); inorder(root); printf("\n"); } int insert(tree *new, tree **cpp) { tree *cp = *cpp; if (!cp) *cpp = new; else insert(new, &(new->data < cp->data ? cp->left : cp->rite)); } int inorder(tree *curr) { if (curr) { inorder(curr->left); printf("%d ", curr->data); inorder(curr->rite); } }