#include <iostream> using namespace std; struct TreeNode{ int data; TreeNode * leftchild; TreeNode * rightchild; }; void insertBTS(TreeNode *&root, int data){ TreeNode *pnode = new TreeNode; pnode->data = data; pnode->leftchild = NULL; pnode->rightchild = NULL; if(root == NULL){ root = pnode; printf("-1\n"); } else{ TreeNode *pPre = root; // TreeNode *Pcur; while(true){ if(data > pPre->data && pPre->rightchild ==NULL){ // Pcur = root->rightchild; pPre->rightchild = pnode; printf("%d\n",pPre->data); break; } else if(data < pPre->data && pPre->leftchild ==NULL){ pPre->leftchild = pnode; printf("%d\n",pPre->data); break; } else if(data < pPre->data){ pPre = pPre->leftchild; } else if(data > pPre->data){ pPre = pPre->rightchild; } } } } int main() { TreeNode *ans = NULL; int n; while (scanf("%d",&n)!=EOF) { // 注意 while 处理多个 case for(int i=0;i<n;++i){ int x; scanf("%d",&x); insertBTS(ans,x); } } } // 64 位输出请用 printf("%lld")