二叉排序树的创建 #include<iostream> using namespace std; struct Node { Node* lchild; Node* rchild; int data; }; void insertBST(Node*& T,int e)//二叉排序树插入 { if (T) { if (e < T->data) insertBST(T->lchild, e); if (e > T->data) insertBST(T->rchild, e); } else { T = new Node; T->data = e; T->lchild = T->rchild = NULL; } } void createBST(Node*& T)//创建二叉排序树 { int e; T = NULL; while (cin >> e, e != 0) insertBST(T, e); } void FS(Node* T)//中序遍历(由小到大输出) { if (T) { FS(T->lchild); cout << T->data << " "; FS(T->rchild); } } int main() { Node* T; createBST(T); FS(T); return 0; }