#include <stdio.h> #include <stdlib.h> typedef struct TreeNode { int data; struct TreeNode* lchild; struct TreeNode* rchild; } TreeNode; TreeNode* createNode(int data) { TreeNode* root = (TreeNode*)malloc(sizeof(TreeNode)); root->data = data; root->lchild = NULL; root->rchild = NULL; return root; } TreeNode* insert(TreeNode* root, int x, int father) { if (root == NULL) { root = createNode(x); printf("%d\n", father); } else if (root->data > x) { root->lchild = insert(root->lchild, x, root->data); } else { root->rchild = insert(root->rchild, x, root->data); } return root; } int main() { int n; while (scanf("%d", &n) != EOF) { TreeNode *root=NULL; for (int i=0; i<n; i++) { int x; scanf("%d",&x); root=insert(root, x,-1); } } return 0; }