这个题目一般会采用排序二叉树来解。
struct Node {
int data;
Node *lchild, *rchild;
Node(int _data = 0, Node *_lchild = NULL, Node *_rchild = NULL):
data(_data), lchild(_lchild), rchild(_rchild) { }
};
bool SearchInsert(Node* &root, int x) {
if(root == NULL) {
root = new Node(x);
return false;
}
if(x == root->data) return true;
if(x < root->data) return SearchInsert(root->lchild, x);
if(x > root->data) return SearchInsert(root->rchild, x);
}
对这棵排序二叉树进行中序遍历就可得到它们有序序列。
温馨提示:答案为网友推荐,仅供参考