注意引用符号千万不可缺失
#include<iostream>
#include<vector>
#include<queue>
using namespace std;


struct TreeNode{
	int data;
	TreeNode* leftchild;
	TreeNode* rightchild;
};

TreeNode * Buildtree(int n, TreeNode * & root,int father) {   //TreeNode * p只是一个指向Treenode的指针,并没有完成初始化
	if (root == NULL) {
		root = new TreeNode;  //为p结点申请一片内存空间
		root->data = n;
		root->leftchild = NULL;
		root->rightchild = NULL;
		cout << father << endl;
	}
	else if (n > root->data) {  //连接右子树
		root->rightchild = Buildtree(n, root->rightchild,root->data);
	}
	else if (n < root->data) {  //连接右子树
		root->leftchild = Buildtree(n, root->leftchild,root->data);
	}
	return root;

}

int main() {
	int num, n[100];
	
	while (cin >> num) {
		TreeNode * root=NULL;
		for (int i = 0; i < num; i++) {
			cin >> n[i];
			Buildtree(n[i],root,-1);

		}
	}
}