#include <iostream> using namespace std; struct node { int data; node* leftChild; node* rightChild; node(int a) { data = a; leftChild = NULL; rightChild = NULL; } }; int father; node* insert(int a, node* root, int f) { if (root == NULL) { node* newNode = new node(a); father = f; return newNode; } if (a < root->data) root->leftChild = insert(a, root->leftChild, root->data); else root->rightChild = insert(a, root->rightChild, root->data); return root; } int main() { int n; while (cin >> n) { // 注意 while 处理多个 case node* root = NULL; while (n--) { int temp; cin >> temp; root = insert(temp, root, -1); cout << father << endl; } } } // 64 位输出请用 printf("%lld")